什麼叫做裝箱和拆箱?一看就懂系列

2020-08-11 22:46:45

有很多同學對與裝箱和拆箱還是有點搞不太明白。
首先講一下概念:
1.裝箱指的是把值型別轉化爲參照型別
2.拆箱當然指的就是把參照型別轉化爲值型別
估計很多同學可能還分不清哪些是屬於參照型別和值型別,這個就需要自己去強化記憶一下了.
光說概念有的同學應該也是一頭霧水,那我現在來簡單的舉例說明:
object c =「1」; int d = (int)c
首先我們要知道的是object型別屬於參照型別,int 型別屬於值型別(不知道的同 學自己抓緊背)
這裏呢就是把object型別(參照型別)的c強制轉化爲了int型別(值型別)的d這種稱爲裝箱,
相反的 object a =「2」; int b=a; 這裏就是把object型別的a 轉化爲int 型別的b, 而 這裏就是所謂的拆箱.
而我們在日常開發的過程中儘量避免使用拆箱裝箱操作,別問爲什麼,問就是你猜?(自己去百度哦,這裏就不作贅述了,只需要記住儘量避免就可以)
在这里插入图片描述看圖上這兩個 是不能叫做裝箱和拆箱的,因爲在發生裝箱和拆箱的前提是兩種型別一定是互相擁有繼承關係的 我們這裏的string型別 和int型別兩者之間並不存在繼承關係,而我們上面舉得例子object 型別和 int型別互相是有繼承關係的 說到這裏,我估計有的同學可能還不知道什麼叫做繼承關係,還等什麼呢,還不去看書.別忘了收藏,下次找不到了.
本文僅是個人理解,如有錯誤,歡迎大神網友指正