Kotlin 中沒有基礎(chǔ)數(shù)據(jù)類型,只有封裝的數(shù)字類型,你每定義的一個變量,其實(shí) Kotlin 幫你封裝了一個對象,這樣可以保證不會出現(xiàn)空指針。數(shù)字類型也一樣,所有在比較兩個數(shù)字的時(shí)候,就有比較數(shù)據(jù)大小和比較兩個對象是否相同的區(qū)別了。
在 Kotlin 中,三個等號 === 表示比較對象地址,兩個 == 表示比較兩個值大小。
fun main(args: Array<String>) {
val a: Int = 10000
println(a === a) // true,值相等,對象地址相等
//經(jīng)過了裝箱,創(chuàng)建了兩個不同的對象
val boxedA: Int? = a
val anotherBoxedA: Int? = a
//雖然經(jīng)過了裝箱,但是值是相等的,都是10000
println(boxedA === anotherBoxedA) // false,值相等,對象地址不一樣
println(boxedA == anotherBoxedA) // true,值相等
}