三、裝箱與拆箱

科技資訊
應(yīng)對樂視近期層出不迭的負面新聞,賈躍亭于7月6日在其個人公眾號和微博上回應(yīng)稱:“會盡責(zé)到底”。

裝箱是將值類型轉(zhuǎn)換為引用類型,拆箱是將引用類型轉(zhuǎn)換為值類型。為了能更好的理解裝箱與拆箱的概念,下面我們展示一段Java中裝箱與拆箱的代碼吧。

int a = 1;//基本類型a
Integer b= 1;//裝箱類型b
b=a;//自動裝箱
a=b;//自動拆箱

在Java中,通過裝箱和拆箱在基本數(shù)據(jù)類型和包裝類型之間相互轉(zhuǎn)換。而Kotlin中,所有變量的成員方法和屬性都是對象,當需要一個可為 null 的引用時, 就會觸發(fā)裝箱操作, 裝箱操作不保持對象的同一性。

val a: Int? = 1000//裝箱
val b: Int = 1000
val c: Int=1000
println(a === b)//結(jié)果為false
println(b === c)//結(jié)果為true

Kotlin 中也有專門的類來表達基本數(shù)據(jù)類型的數(shù)組: ByteArray, ShortArray, IntArray 等等, 這些數(shù)組可以避免對象裝箱時帶來的性能損耗. 這些類與 Array 類之間不存在繼承關(guān)系, 但它們的方法和屬性是一致的. 各個基本數(shù)據(jù)類型的數(shù)組類都有對應(yīng)的工廠函數(shù):

val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容