" == "是用於比較兩個變數或對象的值是否相等的運算符。這個運算符被稱為等於運算符。
val x = 5
val y = 10
val result = x == y // 將比較 x 和 y 的值是否相等,result 將為 false
result 的值將為 false,因為 x 和 y 的值不相等。
需要注意:
== 運算符比較的是值,而不是參考。這意味著它將比較變數或對象的內容,而不是它們是否是同一個對象。
" === "運算符是用來比較兩個對象的引用是否相等的運算符。當使用" === "來比較兩個變數或對象時,它會檢查它們是否指向相同的記憶體位置,即它們是否是同一個對象的引用。
val a: Int = 5
val b: Int = 5
val c: Int? = 5
val d: Int? = null
println(a === b) // true,因為它們引用相同的整數對象
println(a === c) // true,因為它們引用相同的整數對象
println(a === d) // false,因為 d 為 null,不同於其他整數對象
a 和 b 引用相同的整數對象(因為整數值在特定範圍內被緩存,相同的值會引用相同的對象),因此 a === b 為 true。同樣,a 和 c 也引用相同的整數對象,因此 a === c 也為 true。然而,a 和 d 引用不同的對象,因為 d 是 null,所以 a === d 為 false。
" === "運算符用於比較兩個對象的引用地址是否相同,它用於確定兩個變數或對象是否實際上是同一個對象的引用。
1." == "運算符(等於運算符):
2." === "運算符(三等於運算符):