------- android培训、java培训、期待与您交流! ----------
JDK1.5新特性:
静态导入:
import static java.lang.Math.*;可变参数与overload
1、只能在参数列表最后;2、...位于类型和变量名之间,前后空格可有可无;
3、int ... args;
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中可以以数组的形式访问可变参数。
public static int add(int x,int ...args) {
int sum = x;
for(int i=0;i<args.length;i++) {
sum += args[i];
}
return sum;
}
增强for循环:
for(int i=0;i<args.length;i++)----->for(int x : args)
1、迭代变量必须在( )中定义!
2、集合变量可以是数组或实现了Iterable接口的集合类
基本数据类型的自动装箱与拆箱
Integer i1 = 12;//自动装箱
System.out.println(i1+13);//自动拆箱
细节,Integer类体现了享元设计模式 flyweight
//Integer中的IntegerCache内部类创建缓存了-128-127的数组
//自动装箱调用
public static Integer valueOf(int i) {
if(i >= -128 && i <= IntegerCache.high)
return IntegerCache.cache[i + 128];
else
return new Integer(i);
}
Integer i2 = 12;
i1==i2;//true
Integer i3 = 128;
Integer i4 = 128;
i3==i4;//false