如果一个int型变量被传递到需要一个Integer对象的地方,那么编译器将在幕后插入一个对Integer构造方法的调用,这就叫做自动装箱。而如果一个Integer对象被放到需要int类型的地方,则编译器将在幕后插入一个对intValue方法的调用,这就叫做自动拆箱。对于其它7对基本类型/包装类型,也是如此。
例:
public class BoxingDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cell<Integer> m=new Cell<Integer>();
int x=23;
m.write(x); //自动装箱
int val=m.read(); //自动拆箱
System.out.println(val);
}
}
注: 本文基于《数据结构与算法(Java语言描述)》一书,仅作学习交流。