Integer自动装箱和自动拆箱
Integer i1 = 3;
System.out.println(i1);
当我们运行这一段代码时,会正常输出3;所以我们可以知道,int类型–3是可以自动转换成Integer类型并且赋值给Integer对象的,称之为自动装箱。
既然可以自动装箱,那么也应该可以自动拆箱的,做一个以下实验:
Integer i1 = 3;
System.out.println(i1);
int i2 = i1;
System.out.println(i2);
运行结果也是3,这就可以说明当Integer类型的数据也是可以自动转换成int类型并且赋值给i2,这就是自动拆箱。
但是要注意的是,当Integer为null时,是不能转换成int类型的,编译器会报出空指针异常。
Integer i3 = null;
i3 = 200 + i3;
Exception in thread "main" java.lang.NullPointerException
所以,要使用自动拆箱时,要先判断是否为空。