1、java中可变参数应用
例如 add(int x,int... args)
- 1)只能放在参数列表的最后面
- 2)...位于变量类型和变量名之间,前后有无空格都可以
- 3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组
在方法体中以数组的形式访问可变参数
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,5));
} public static int add(int x,int... args){
int sum = x;
for(int i=0;i<args.length;i++){
sum +=args[i];
}
return sum;
}
2、增强for循环
语法:for(type 变量名:集合变量名){...}
迭代变量必须在()中定义
集合变量可以是数组或实现了iterable接口的集合类
int sum = x;
for(int arg : args){
sum += arg;
}
3、基本数据的自动拆装箱及享元设计模式
例子:Integer Obj =3;
System.out.println(Obj+12); //15
Integer i1 = 13;
Integer i2 = 13;
i1 == i2 ====>true
i1 = 137
i2 = 137
i1 == i2 ====>false
这就是享元(FlyWeight)模式---如果很多很小的对象,有很多相同的属性
可以变成一个对象,还有不同的东西变成外部属性,作为方法的参数传入,称为外部状态,相同的属性称为内部状态。
-128 ~ 127 之间都是会共享的
将一个基本类型的整数包装成一个对象
Integer i3 = Integer.valueOf(3);