的新特性有哪些
(1)循环(For-each 循环)
for (type variable : array){ body}
for (type variable : arrayList){body}
而 1.4 必须是:
for (int i = 0; i < array.length; i++){ type variable =
array[i];''''body}
for (int i = 0; i < arrayList.size(); i++){type variable = (type)
arrayList.get(i); body}
(2)泛型
以 ArrayList 为例,包括创建一个容器对象和取得容器内对象操作:
1.5 ArrayList<Type> arrayList =new ArrayList<Type>();
arrayList.get(i)
1.4 ArrayList arrayList =new ArrayList();''(Type) arrayList.get(i)
(3) 自动装箱拆箱
在 JDK5.0 以前,在原始类型与相应的包装类之间的转化是不能自动完成的。要
完成这种转化,需要手动调用包装类的构造函数,在 JDK5.0 环境中,可以自动转化:
1.5 Integer wrapper = n;''''int n = wrapper;
1.4 Integer wrapper = new Integer(n);''''int n = wrapper.intValue();
自动装包/拆包大大方便了基本类型数据和它们包装类地使用。
自动装包:基本类型自动转为包装类.(int >> Integer);
自动拆包:包装类自动转为基本类型.(Integer >> int);
(4)静态导入
静态导入功能对于 JDK 5.0 以前的版本是不支持的。
import static java.lang.Math;
import static java.lang.System;
...
1.5 out.println(sqrt(PI));
1.4 System.out.println(Math.sqrt(Math.PI));
(5) 可变参数(Varargs)
可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必
须是函数声明中的最后一个参数。在 JDK1.5 之前,可以用重载来实现,但是
这样就需要写很多的重载函数。
line1 public void write(Object... objs) {
line2 for (Object obj: objs)
line3 System.out.println(obj);
line4 }
评论0
最新资源