装箱就是将基本数据类型转换成对应的包装类型,拆箱就是将包装类型转换成基本数据类型。
例如int转Integer是装箱,Integer转int是拆箱。Java 5 之后支持自动装箱和自动拆箱。
int是基本数据类型,默认值是 0,主要用于数值计算;Integer是int对应的包装类,属于引用类型,默认值是null,提供了一些方法,并且可以用于集合和泛型。
另外,Integer默认缓存-128~127范围的对象。自动装箱时,如果值在缓存范围内,会复用缓存对象。因此比较 Integer 时不能简单使用==,应该使用equals()。