當前位置:編程學習大全網 - 編程軟體 - 什麽是裝箱與拆箱?為什麽要裝箱與拆箱?裝箱與拆箱的本質是什麽?

什麽是裝箱與拆箱?為什麽要裝箱與拆箱?裝箱與拆箱的本質是什麽?

裝箱是值類型轉成object引用類型,拆箱是已被裝箱的引用類型轉成原來的值類型。

裝箱和取消裝箱使值類型能夠被視為對象。

對值類型裝箱將把該值類型打包到 Object 引用類型的壹個實例中。

這使得值類型可以存儲於垃圾回收堆中。

取消裝箱將從對象中提取值類型。

裝箱是值類型到object類型或到此值類型所實現的任何接口類型的隱式轉換。

對值類型裝箱會在堆中分配壹個對象實例,並將該值復制到新的對象中。

取消裝箱是從 object 類型到值類型或從接口類型到實現該接口的值類型的顯式轉換。

取消裝箱操作包括:

檢查對象實例,確保它是給定值類型的壹個裝箱值。

將該值從實例復制到值類型變量中。

要在運行時成功取消裝箱值類型,

被取消裝箱的項必須是對壹個對象的引用,

該對象是先前通過裝箱該值類型的實例創建的。

嘗試對 null 或對不兼容值類型的引用進行取消裝箱操作,將導致 InvalidCastException。

裝箱和拆箱是為了編程模式的簡單,任何對象都應當可以賦給Object,

對於引用類型賦給Object沒問題,都是引用類型,只是壹個引用的賦值,

但是值類型賦給Object就有問題了,因為值類型沒有引用,

為了造出壹個引用,也就有了裝箱。

  • 上一篇:分析大家為什麽會說這已經不是簡單的公益課
  • 下一篇:什麽樣的編程語言比較好就業?
  • copyright 2024編程學習大全網