原始数据类型自动装箱和拆箱的工作和相应的包装类完全在编译器中实现。从原始数据类型(byte
, short
, int
, long
, float
, double
, char
和 boolean
)到其对应的包装器对象(Byte
, Integer
, Long
, Float
, Double
, Character
和 Boolean
)的自动包装称为自动装箱。反向,从包装器对象到其对应的原始数据类型称为拆箱。
使用自动装箱/拆箱,如以下代码是有效的:
Integer n = 2; // Boxing int a = n; // Unboxing
编译器将用以下语句替换上面的语句:
Integer n = Integer.valueOf(2); int a = n.intValue();