面试题答案
一键面试自动装箱与拆箱原理
- 自动装箱:在Java 5.0引入了自动装箱机制,当需要将基本数据类型转换为对应的包装类对象时,编译器会自动帮我们完成。例如,将
int
类型的值赋给Integer
类型的变量,编译器会在编译期自动调用Integer.valueOf(int)
方法来创建Integer
对象。 - 自动拆箱:反之,当需要将包装类对象转换为基本数据类型时,编译器会自动调用包装类的
xxxValue()
方法(如Integer.intValue()
)来完成转换。例如,将Integer
对象用于需要int
类型值的地方,编译器会自动将Integer
对象拆箱为int
类型。
手动装箱和拆箱操作示例
- 手动装箱:
int num = 10;
// 手动装箱
Integer integerObj = Integer.valueOf(num);
- 手动拆箱:
Integer integerObj = new Integer(20);
// 手动拆箱
int num = integerObj.intValue();