Java-JDK5.0的简单新特性(静态导入,可变参数,增强型for循环,自动拆装箱)
新特性:1:提高安全性 2:提高效率 3:简化书写
1.静态导入
import :导入某个类或,某个包下的所有类。
import static : 导入某个类中的所有静态成员或某个静态成员
a.导入某个类的所有静态成员(方法和变量): import static 包名.类名.*;
b.导入某个类的某个静态成员: import static 包名.类名.静态成员名称;
2.可变参数(方法的参数)
为了增强方法的重载,使得方法可以接收多个(不确定)参数,Java通过隐式的创建一个数组来存储
可变参数,在方法内可以以数组形式访问它。
注意:可变的参数只能在参数列表的后面。
用法:add(3); //只传入x=3, add(3,4,5,6); //x=3,后面的赋给数组args.
public static void add(int x,int ...args) { int sum=x; for(int e:args) { sum+=e; } System.out.println("add:"+sum); }
3.自动拆装箱操作
装箱:将基本数据类型包装为对应的包装类对象
拆箱:将包装类对象转换成对应的基本数据类型
//JDK5.0之前: Integer obj1 = Integer.valueOf(1); //JDK5.0之后:
Integer obj2 = 2; //自动装箱:将基本数据类型转换成Integer对象
Integer it=4;
int i=it+5;
Integer it2=i+4;
System.out.println(obj2 + 3); //自动拆箱:将Integer对象转换成基本数据类型后相加 //-128~127的数字包装成Integer对象后,会缓存到一个对象池中,当要用到的时候会先到池中找 //提高效率:因为这些小整数会经常用到 Integer obj3 = 127; Integer obj4 = 127; System.out.println(obj3 == obj4); Integer obj5 = 128; Integer obj6 = 128; System.out.println(obj5 == obj6); Integer obj7 = Integer.valueOf(1); System.out.println(obj1 == obj7);
运行结果:5
true
false
true
4.增强性for循环
好处:适合用于遍历,提高了效率。
坏处:无法得知变量的下标。
注意: 只能是数组或集合类型
用法: for( type 变量名:变量集合名) ,如上