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();