JDK 5.0 新特性 1.0
JDK5中新增了很多新的java特性,利用这些新语法可以帮助开发人员编写出更加高效、清晰,安全的代码。
(1)静态导入
(2)自动装箱/拆箱
(3)增强for循环
(4)可变参数
(5)枚举
(6)泛型
(7)元数据
3、静态导入
(1)JDK 1.5 增加的静态导入语法用于导入类的某个静态属性或方法。使用静态导入可以简化程序对类静态属性和方法的调用。
(2)语法:
Import static 包名.类名.静态属性|静态方法|*
(3)例如:
import static java.lang.System.out
import static java.lang.Math.*
4、自动装箱/拆箱
(1)JDK5.0的语法允许开发人员把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 类型的变量,这个过程称之为自动装箱。
(2)自动拆箱与自动装箱与之相反,即把包装类对象直接赋给一个对应的基本类型变量。
(3)典型应用:
List list = new ArrayList();
list.add(1);
int j = (Integer)list.get(0);
5、增强for循环
(1)引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦!
(2)因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterator接口的集合类上
(3)语法格式:
for(变量类型 变量 :需迭代的数组或集合){
}
例子:
int arr[] = new int[5];
for(int num : arr){
num = 1;
}
System.out.println(arr[0]);
6、可变参数
(1)测试JDK中具有可变参数的类Arrays.asList()方法。分别传多个参、传数组,传数组又传参的情况。
注意:传入基本数据类型数组的问题。
(2)从JDK 5开始, Java 允许为方法定义长度可变的参数。语法:
public void foo(int … args){
}
(3)注意事项:
调用可变参数的方法时, 编译器将自动创建一个数组保存传递给方法的可变参数,因此,程序员可以在方法体中以数组的形式访问可变参数
可变参数只能处于参数列表的最后, 所以一个方法最多只能有一个长度可变的参数