装箱与拆箱
装箱:将基本类型用他们对应的引用类型包装起来
拆箱:将包装类型转换为基本类型
自动拆装箱:
-
Integer i =10; //自动装箱 反编译后代码:integer i = Integer.valueOf(10);
-
int b= i; //自动拆箱 反编译后代码:int b = i.intValue();
- 反编译其他包装类型的赋值可以看到,装箱都是用xxx.vauleOf()方法,拆箱都是用xxxValue()方法
除了赋值之外还有其它场景会自动拆装箱,比如:
1.往集合类加入基本类型
List<Integer> list = new ArrayList<>();
for (int i = 0;i < 10;i++)
{
list.add(i);
}
2.包装类型和基本类型比较
Integer a = 10;
if(a == 10)
{
System.out.println("1");
}
3.包装类型运算
Integer a = 10; System.out.println(a+1);
boolean flag = true;
int b = flag ? a : 1;
4.函数参数和返回值
public int getNum(Integer a)
{
return a;
}
public Integer getNum1(int a)
{
return a;
}

浙公网安备 33010602011771号