将基本类型值转化为包装类对象的过程称为装箱,相反的过程称为拆箱。Java允许基本类型与包装类型之间进行自动转换,如果一个基本类型值出现在需要的环境中,编译器会将基本类型值进行自动装箱;如果一个对象出现在需要基本类型值的环境中,编译器会将对象进行自动拆箱。
自动装箱:
Integer intObject=new Integer(2);等价于Integer intObject=2;
自动拆箱:
int i=1;等价于int i=new Integer(1);
考虑下面的例子
Integer[] intArray={1,2,3};
System.out.println(intArray[0]+intArray[1]+intArray[2]);
第一行,基本类型1,2,3被自动装箱成对象new Integer(1),new Integer(2),new Integer(3).在第二行中,对象intArray[0]、intArray[1]、intArray[2]被自动拆箱为int值,然后相加。