Integer是基于int的包装类 我们可以用测试代码来看看Integer类是如何实现装箱和拆箱的
public class BoxAndUnbox { /** * @param args */ public static void main(String[] args) { int value=100; Integer obj=value; //装箱 int result=obj*2; //拆箱 } }
我们可以看到,其进行了所谓的装箱和拆箱操作,那么我们如何知道具体的内容呢?java为我们提供了javap命令,
我们对BoxAndUnbox类运行javap命令,可以看到
由此,我们可以看见在装箱时Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。
由此可以看出:
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 intValue方法实现的.