java自动装箱与自动拆箱
(1)基本概念
Integer i = 100;
int j = i;
上述代码中的第一行实现的就是自动装箱功能,将int类型的100直接装换成Integer类型;
自动装箱:将基本数据类型与它们对应的引用类型包装起来;
上述代码中的第二行实现的就是自动拆箱功能,将Integer类型的i直接装换成int类型;
自动拆箱:将包装类型转换成基本数据类型;
(2)装箱和拆箱是如何实现的
根据查看编译生成的字节码文件,可以总结如下:
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的 xxxValue方法实现的。(xxx代表对应的基本数据类型)!