拆箱是將 object 或介面類型顯式轉換回原始值類型,或將介面轉換為實作該介面的值類型。這是裝箱的逆向操作。
object 實例確實是目標值類型的裝箱結果。int i = 10;
object obj = i; // 裝箱
int j = (int)obj; // 拆箱:需強制轉型

int 裝箱後只能拆箱為 int,不能直接拆箱為 long 或 short。InvalidCastException。拆箱過程正是裝箱的逆向:從堆疊上的 object 參考,取出其中封裝的值型別實例,複製回堆疊變數。