(一)泛型
1.通俗的讲,Java的泛型就是创建一个用类型作为参数的类,如下:
1)List<Integer> list = new ArrayList<Integer>(); ------ 泛型
list.add(new Integer(10));
Integer a = list.get(0);
2)Map<String,Integer> m = new HashMap<String,Integer>();
m.put("a",1); ------ 自动封装机制
m.put("b",2);
m.put("c",3);
int b = m.get("b"); ------ 自动解封机制
2.自定义泛型类
class A<G>
{
//定义属性
G a;
//定义构造函数
A(G a){
this.a = a;
}
void print(){
System.out.println(a);
}
public static void main(String[] args)
{
A<String> a1 = new A<String>("a1");
a1.print();
A<Integer> a2 = new A<Integer>(1);
a2.print();
}
}
3)用extends和super来控制泛型的类型范围
class A <B extends List>{ };
表示B只能是List的子类或子接口A<String> a= new A<String>();就是错误的。
如果用super的话就是表示父类或者父接口了。
4)循环
void print(List<Integer> a) {
for (Integer i : a) { ------ 表示从a中不断的取出对象定义成 i 然后进行循环
System.out.println(i);
}
}
void print(List<?> a) { ------ 类型通配符,用?表示不知道List里放的什么类型
for (Integer i : a) {
System.out.println(i);
}
}
(二) 可变参数(Vararg)
public class program {
static void test(int... ints){
for (int i = 0; i < ints.length; i++){
System.out.println(ints[i]);
}
}
public static void main(String[] args) {
test(10, 20, 30, 40, 50);
}
}
(三) 枚举(Enum)
public class program {
enum Color {
Red,
White,
Yellow
}
public static void main(String[] args) {
Color[] cs = Color.values();
for(Color c : cs){
System.out.println(c);
}
}
}
(四) 静态导入(Static Import)
使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;
public class program {
public static void main(String[] args) {
int i = (int)(random()*10);
System.out.println(i);
}
}
(五) 格式化输入输出
public class program {
public static void main(String[] args) {
System.out.printf("Integer=%d String=%s", 13, "abc");
}
}
格式化的格式是 "%[argument_index$][flags][width][.precision]conversion"。
(六) 标注(Annotation)
标注(Annotation)就是在程序中加上一些说明,容器在调用这些类,方法的时候就知道怎么处理了。
例如下面是在seasar框架中使用的例子
@StrutsActionForm(name = "ownerForm") //can replace the struts config file
public class OwnerForm{}
分享到:
相关推荐
### Java 5 新特性详解 #### 一、引言 随着技术的发展,编程语言也在不断地进步和完善。Java 5 的发布标志着 Java 在功能性和便利性方面迈出了重要的一步。本篇文章将详细介绍 Java 5 中的一些关键特性,这些新特性...
标题 "使用模式设计及java5新特性在HibernateDAO中的应用" 涉及到的是软件开发中的两个关键领域:设计模式和Java编程语言的新特性,特别是在数据访问对象(DAO)层如何结合使用它们。这篇文章可能详细阐述了如何利用...
### Java 5新特性 #### 1. **泛型(Generics)** 泛型是Java 5最重要的特性之一,它允许在类、接口和方法声明中使用类型参数,增强了类型安全,减少了强制类型转换,提高了代码的可读性和可维护性。 #### 2. **...
Java 5是一个重要的Java平台版本,它引入了许多新特性,极大地提升了开发效率和代码质量。在"RowSetDemo"这个示例中,我们主要关注的是Java 5中的一个新特性——`java.sql.RowSet`接口及其相关的实现。`RowSet`是...
Java 5,也被称为JDK 1.5,是Java发展历程中的一个重要里程碑,引入了许多显著的新特性,极大地提升了开发效率和代码的可读性。以下是对这些关键特性的详细解释: 1. **自动拆装箱(Auto-boxing/Unboxing)**: 这一...
总的来说,JDK 1.5(Java 5.0)的新特性极大地提高了Java的生产力和代码质量。从泛型到增强的for循环,再到注解和枚举,这些改进都让Java开发者能够编写出更安全、更易于维护的代码。在实际开发中,理解并充分利用...
通过了解和熟练掌握这些新特性,开发者能够编写出更高效、更易于维护的 Java 5 代码。这些特性不仅提升了编程体验,也为后续的 Java 版本奠定了基础。学习并应用这些特性是保持 Java 技能与时俱进的关键。
Java8是Java编程语言的一次重大更新,引入了许多新的特性和功能,极大地提升了开发效率和代码的可读性。以下是一些主要的Java8新特性详解: 1. **Lambda表达式**:Lambda表达式是Java8中最显著的新特性,它为Java...
本文将深入探讨Java 8的三大关键新特性:接口的默认方法实现、Lambda表达式以及一系列相关的变化。 一、接口的默认方法实现 在Java 8之前,接口只能定义抽象方法,而不能包含具体实现。Java 8引入了默认方法...
JAVA 1.5的新特性是Java发展史上的一个重要里程碑,这一版本引入了一系列创新特性,旨在提升编程效率、增强代码安全性并简化开发流程。以下是对JAVA 1.5新特性的详细解析: ### 1. 泛型 (Generics) #### 概述 泛型...
在Java 8中,最重要的两个新特性无疑是Lambda表达式和Stream API。这两个特性都与函数式编程思想密切相关,让Java开发者能够更加灵活地处理数据。 ### Lambda表达式 Lambda表达式是Java 8中最显著的新特性之一,它...
5. **日期与时间API(java.time)**:取代了原来的`java.util.Date`和`Calendar`,新的日期时间API提供了更加方便和直观的方式来处理日期和时间。`LocalDate`、`LocalTime`和`LocalDateTime`是其中的主要类。 6. **...
以下将详细阐述Java 5泛型的新特性: 1. **类型参数化**:泛型允许我们在类、接口和方法中定义类型参数。例如,`List<E>`中的`E`就是一个类型参数,代表某种未知的类型。当我们实例化列表时,可以指定`E`的具体类型...
总之,尽管Java 5的特性在当前看来可能并不新鲜,但考虑到许多企业仍使用旧版本的JDK,理解如何在这些环境中利用Java 5的新特性仍然是有价值的。通过巧妙的编码技巧和策略,开发者可以在不影响现有用户的同时,享受...
以下是关于Java 8新特性的详细讲解: 1. **函数式编程:Lambda表达式** Lambda表达式是Java 8中最显著的新特性,它允许我们将函数作为一个方法参数,或者以匿名函数的形式创建。Lambda表达式简洁且易于理解,使得...