装箱和拆箱是什么?
装箱(Boxing)和拆箱(Unboxing)是将基本数据类型和对应的包装类之间转换。
Integer i = 10; //装箱
int n = i; //拆箱
自动装箱:
//Java5以前,我们需要手动地进行转换
Integer iObject = Integer.valueof(3);
Int iPrimitive = iObject.intValue()
//Java5以后,编译器自动转换
Integer iobject = 3; //autobxing - primitive to wrapper conversion
int iPrimitive = iobject; //unboxing - object to primitive conversion
//传入原始数据值或对象,编译器帮我们转换
public static Integer show(Integer iParam) {
System.out.println("自动装箱示例 - 方法调用参数 i: " + iParam);
return iParam;
// 方法调用中的自动装箱与拆箱
}
// 自动装箱:基本类型 int 3 自动转换为 Integer 对象
show(3); //show方法返回Integer对象
// 拆箱:方法返回的 Integer 对象自动转换为基本类型 int
int result = show(3);