什么是自动装箱拆箱
下面就是自动装箱和拆箱的代码:
//自动装箱
Integer i=100;
//自动拆箱
int L=i;
装箱就是将基本数据类型转换为包装器类型,而拆箱就是将包装器类型转换为基本数据类型。
那它们是怎样转换的呢?
在 Integer i=100;处打一个断点,跟踪发现,程序跳转到了 Integer 中的 valueOf (int i) 方法中。
也就是说装箱就是 jdk 帮你完成了调用 Integer valueOf (int i) 方法。
而拆箱呢,同样的操作后,发现程序跳转到了 Integer 中的 intValue () 方法中。
那么拆箱也就是 jdk 调用了 Integer 中的 intValue () 方法。