package com.itheima_205自动装箱与拆箱;
public class IntegerDemo {
public static void main(String[] args) {
//自动装箱,将基本数据类型包装成需要的数据类型(官解:把基本数据类型转换为对应的包装类类型)
// Integer i = Integer.valueOf(100);
Integer i = 100;//{隐含的一个操作:Integer.valueOf(100);}这个操作被称为自动装箱
//拆箱:将包装类类型转换成需要的数据类型(官解:把包装类类型转换成对应的基本数据类型),什么叫对应的,就是说你正在对变量进行的操作中,需要将变量变成什么数据类型
Integer ii = 100;
// ii = ii.intValue() + 200;
ii += 200;//{隐含的一个操作:ii = ii.intValue() + 200;}这个操作北被称为自动拆箱
//自动装箱或拆箱中可能会遇到的报错.原因解释:在第17行,会进行自动装箱,即Integer.valueOf(iii)。但是此时iii为null,所以会报错
Integer iii = null;
iii += 300;//.NullPointerException
//报错的改进
Integer iii = null;
if (iii != null) {
iii += 300;//.NullPointerException
}
}
}
注:解释在代码段里,代码不可直接运行,根据测试需要注释段落