java基础篇1之可变参数,增强for循环,自动装箱

时间:2023-02-16 12:39:47

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);