科技資訊
應對樂視近期層出不迭的負面新聞,賈躍亭于7月6日在其個人公眾號和微博上回應稱:“會盡責到底”。
裝箱是將值類型轉換為引用類型,拆箱是將引用類型轉換為值類型。為了能更好的理解裝箱與拆箱的概念,下面我們展示一段Java中裝箱與拆箱的代碼吧。
int a = 1;//基本類型a
Integer b= 1;//裝箱類型b
b=a;//自動裝箱
a=b;//自動拆箱
在Java中,通過裝箱和拆箱在基本數據類型和包裝類型之間相互轉換。而Kotlin中,所有變量的成員方法和屬性都是對象,當需要一個可為 null 的引用時, 就會觸發裝箱操作, 裝箱操作不保持對象的同一性。
val a: Int? = 1000//裝箱
val b: Int = 1000
val c: Int=1000
println(a === b)//結果為false
println(b === c)//結果為true
Kotlin 中也有專門的類來表達基本數據類型的數組: ByteArray, ShortArray, IntArray 等等, 這些數組可以避免對象裝箱時帶來的性能損耗. 這些類與 Array 類之間不存在繼承關系, 但它們的方法和屬性是一致的. 各個基本數據類型的數組類都有對應的工廠函數:
val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]