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