Kotlin 中的運算子“==="有什麼作用?


在 Kotlin 中,“===" 運算子檢查兩個物件的引用相等性。任何表示式“a===b”都只會當且僅當“a”和“b”指向同一物件時評估為 True。也就是說,“a”和“b”共享同一地址。

相反,我們可以使用“==”運算子來檢查結構相等性,這意味著兩個物件具有相同內容。基本上,“==”是對equals()的檢查。

示例:Kotlin 中的 “===” 運算子

fun main(args: Array<String>) {
   var str1 : String = "That's it"
   var str2 : String = "It's OK"
   var str3 : String = str1

   println("str1 : " + str1)
   println("str2 : " + str2)

   // Referential Equality
   println(str1===str2)
   println(str1===str3)
}

輸出

它將產生以下輸出 −

str1 : That's it
str2 : It's OK
false
true

請注意,“str1”和“str3”都具有相同的引用,因此“str3 === str1”返回True

示例:Kotlin 中的“==”運算子(結構相等性)

現在我們來看同一示例,並稍作修改以展示 Kotlin 中引用相等性和結構相等性的區別。

fun main(args: Array<String>) {
   val student1 = "Ram"
   val student2 = "shyam"
   val student3 = student1
   val student4 = "shyam"

   // Referential equality
   println("Referential Equality:")
   println(student1 === student3)

   // Structural equality
   println("Structural Equality:")
   println(student2 == student4)
}

輸出

它將產生以下輸出 −

Referential Equality
true
Structural Equality
true

這裡我們使用了“==”運算子來檢查 student2 和 student4 之間的結構相等性。由於這兩個變數具有相同的內容,“student2 == student4”返回True

更新時間: 16-Mar-2022

319 瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.