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。
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP