自动拆装箱的定义:
自动装箱:就是将基本数据类型自动转换成包装类型;
自动拆箱:就是将包装类型自动转换为基本类型;
通俗的讲,自动拆装箱就是入乡随俗,到了一个需要是基本类型的地方,就将自己转换成基本数据类型;到了一个需要是包装类型的地方,就将自己转换成包装类型。
Integer i = 2; //装箱
int j1 = new Integer(5); //拆箱
包装类型使用的场景:
1.将基本数据类型放到集合中:装箱
List<Integer> li = new ArrayList<>();
for (int i = 1; i < 50; i ++){
li.add(i);
}
2.包装类型和基本数据类型的比较:拆箱
Integer k1= new Integer(2);
if(k1==2){
System.out.println("k1的值为2");
}else{
System.out.println("k1的值不为2");
}
3.包装类型的运算:拆箱
Integer i1 = 10;
Integer j2 = 20;
System.out.println(i1+j2); //包装类型的运算,拆箱
自动装箱拆箱的问题:
自动拆箱容易产生空指针问题
自动装箱等于是new出来一个对象放到堆中,这无疑增加了资源的消耗