自动装箱是将原始数据类型转换为相应的包装类对象的过程,例如,将 int
转换为 Integer
。 拆箱是将包装类对象转换为原始数据类型的过程。 例如,Integer
到 int
。 拆箱和自动装箱在 Java 中自动发生。 但是可以使用 valueOf()
或 xxxValue()
等方法从外部将一个转换为另一个。
每当需要包装类对象并提供原始数据类型时,它都可能发生,反之亦然。
- 将原始类型添加到集合中,如 Java 中的 ArrayList。
- 创建参数化类的实例,例如期望 Type 的 ThreadLocal。
- 每当需要一个对象并且在方法调用中提供另一个对象时,Java 都会自动将其转换为对象。
- 将原始类型分配给对象类型时。