一.源码分析
以下博客讲得很详细:
https://blog.csdn.net/wangyangzhizhou/article/details/77196626
二.涉及到的面试点
自动拆装箱和缓存机制
1.1.概念
自动装箱:java自动将基本类型转换成其对应的包装器类型,比如将int转换成Integer对象
自动拆箱:java自动将包装器类型转换成其对应的基本类型,比如将Integer对象转换成int
以下为基本类型与其对应的包装器类型图:
1.2.示例
以下代码为自动拆装箱的示例:
//手动装箱
Integer i = new Integer(1);
//自动装箱
Integer i2 = 1;
//手动拆箱
int j = i.intValue();
//自动拆箱
int j2 = i;
现在通过其编译成的class文件,看是怎么个自动拆装箱法?
//手动装箱
Integer localInteger1 = new Integer(1);
//自动装箱
Integer localInteger2 = Integer.valueOf(1);
//手动拆箱
int i = localInteger1.intValue();
//自动拆箱
int j = localInteger1.intValue();
由