JDK1.5新特性

来源:互联网 发布:路由器网络延时 编辑:程序博客网 时间:2024/04/25 11:27

-------android培训 java培训  、期待与您交流-------

JDK1.5新特性

静态导入
静态导入用于简化程序对静态类属性和方法的调用
语法:Import static 包名.类名.静态属性|静态方法|*
例如:
import static java.lang.System.out
import static java.lang.Math.*
自动装箱/拆箱
自动装箱:把一个基本数据类型直接赋给对应的包装类。
比如:Integer num = 12;  //相当于Integer num = new Integer(12);

自动拆箱:把一个对应的包装类直接赋给基本数据类型。
Integer num = 12;
System.out.println(num + 12); //num是一个对象的引用,将自动拆箱成基本数据类型和12进行加法操作。

基本数据类型的对象缓存:
Integer num1 = 12;
Integer num2 = 12;
System.out.println(num1==num2);    
//true    java认为-128~127的数字经常出现,如果一个数字就用一个对象会非常占用内存,所以把这些数字都封装到了缓冲池中

Integer num3 = 129;
Integer num4 = 129;
System.out.println(num3==num4);        
//false  129超出了缓冲池的范围

典型应用:
List<Integer> list = new ArrayList<Integer>();
list.add(1);
int num = list.get(0);

增强For循环
引入增强for循环的原因:
在JKD5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦。
JKD5中定义了一种新的语法——增强For循环,以简化此类操作。

语法格式:
for(变量类型   变量 :需迭代的数组或集合){....}

注意事项:
1    迭代变量必须在()中定义。
2    增强for循环只适合取数据,并不会改变数据值。
3    增强For循环只能用在数组或实现Iterable接口的集合类上。

4  可变参数(VariableParameter)
从JDK5开始,java允许为方法定义长度可变的参数。

语法格式:
public void foo(int...  args){....}

注意事项:
1    调用可变参数的方法时,编译器将自动隐式创建一个数组保存传递给方法的可变参数,因此,程序员可以在方法体中以数组的形式访问可变参数
2    可变参数只能处于参数列表的最后,所以一个方法最多只能有一个长度可变的参数。
注意:传入基本数据类型数组的问题。