Java中有8种基础类型分别是boolean(1个字节),byte(1个字节),char(2个字节),double(8个字节),float(4个字节),int(4个字节),long(8个字节),short(2个字节),以及对应的包装类型Boolean,Byte,Char,Double,Float,Integer,Long,Short。将包装类型自动变成对应的基础类型就是自动拆箱。
自动装箱
将基础类型自动变成对应的包装类型,包装类是局部变量,变量存放在栈中,指向的对象保存在堆中,包装类是全局变量,变量和其指向的对象都会保存在堆中,基础类型是局部变量,其变量名和值保存在栈中,基础类型是全局变量,其变量名和值保存在堆中
自动拆箱
将包装类型自动变成基础类型
public class TestAutoBoxing {
public static void main(String[] args) {
// 自动装箱, 等价于Integer i = new Integer(0);
Integer i = 0;
// 自动拆箱, 等价于int j = i..intValue();
int j = i;
}
}