Java自动装箱和拆箱机制

自动装箱与拆箱概念

比如

Integer i = 10;

这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。

int j = i; 

自动将包装器类型转换为基本数据类型;这个就是拆箱。
装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

作用的机制

比如这段代码

public class Test {
    public static void main(String[] args) {   
        Integer i = 10;
        int j = i;
    }
}
在控制台输入javap -c Test
就可以看到
Integer i = 10;
执行上面那句代码的时候,系统为我们执行了: 
Integer i = Integer.valueOf(10);

int j = i;
执行上面那句代码的时候,系统为我们执行了: 
int j = i.intValue();
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 xxxValue方法实现的。

你可能感兴趣的:(Java自动装箱和拆箱机制)