Java自動裝箱和拆箱

原始數據類型自動裝箱和拆箱的工作和相應的包裝類完全在編譯器中實現。從原始數據類型(byte, short, int, long, float, double, charboolean)到其對應的包裝器對象(Byte, Integer, Long, Float, Double, CharacterBoolean)的自動包裝稱爲自動裝箱。反向,從包裝器對象到其對應的原始數據類型稱爲拆箱。

使用自動裝箱/拆箱,如以下代碼是有效的:

Integer n  = 2;  // Boxing 
int a  = n;        // Unboxing

編譯器將用以下語句替換上面的語句:

Integer n  = Integer.valueOf(2);
int a  = n.intValue();