自动装拆箱原理:
Integer integer=1; //装箱
int i=integer; //拆箱
反编译
Integer integer=Integer.valueOf(1);
int i=integer.intValue();
自动装拆箱场景:
放入集合类:
List<Integer> li = new ArrayList<>();
for (int i = 1; i < 50; i ++){
li.add(i);
}
包装类与基本类型进行大小比较:
Integer a = 1;
System.out.println(a == 1 ? "等于" : "不等于");
包装类进行运算:
Integer i = 10;
Integer j = 20;
System.out.println(i+j);
三目运算符,当第二,第三位操作数分别为基本类型和对象时,其中的对象就会拆箱为基本类型进行操作,可能出现空指针异常。
boolean flag = true;
Integer i = null;
int j = 1;
int k = flag ? i : j;
自动装拆箱与缓存:
在 Integer 的操作上引入了一个新功能来节省内存和提高性能。整型对象通过使用相同的对象引用实现了缓存和重用。范围-128 至 127 之间
Integer integer1 = 3;
Integer integer2 = 3;
sout(integer1 == integer2)
更多教程请访问码农之家