------- android培训、java培训、期待与您交流! ----------
1. 可变参数:
特点:只能出现在参数列表的最后
...位于变量类型和变量名之前,前后有无空格都可以
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数
public class Test {
public static void main(String[] args) {
System.out.println(getSum(1,2,3,4,5));
}
public static int getSum(int x,int...args){
int sum=x;
for(int arg:args)
sum+=arg;
return sum;
}
}
2. 增强for循环
语法:for(type 变量名:集合变量名){}
注意:
迭代变量必须在()中定义
集合变量可以是数组或实现了Iterable接口的集合类
局限性:增强for循环只能访问数据而不能改变数据
如1中的代码就用了增强for循环。
public static int getSum(int x,int...args){
int sum=x;
for(int arg:args)
sum+=arg;
return sum;
}
3. 基本数据类型的自动装箱与拆箱、享元模式
public class Test {
public static void main(String[] args) {
Integer i1=9;
Integer i2=9;
Integer i3=235;
Integer i4=235;
System.out.println(i1==i2);
System.out.println(i3==i4);
}
}
结果:
true
false
基本数据类型和Integer对象之间会进行自动装箱与拆箱
Integer是int型数据的封装类,-128~127(一个字节)的数据被包装成Integer对象时,会被缓存起来,下次使用又要把一个整数装成一个对象时,会先到缓存里找是否存在这样的对象,有则直接拿来用,没有才再封装对象
这就是享元模式,当某些经常使用、不用改变但又很小的对象时我们不必在每次使用时都来创建对象,只搞一个对象,使用时直接拿来用。