"=="
内容的比较 相当于Java的equals()
"==="
引用的比较
1.==
kotlin
fun main() {
val str1="kotlin"
val str2="kotlin"
//java写法
println(str1.equals(str2))
//kt写法
println(str1==str2)
//结论 str1.equals(str2)等价于str1==str2
}
执行结果
2.===
kotlin
fun main() {
val str1:String="Kotlin"
val str2:String="Kotlin"
val str3:String="java"
val str4:String="kotlin".capitalize()
//str1和str2放在常量池中 因为内容一样str1和str2均会指向Kotlin,而str1和str2与str3内容不一样不会指向同一个对象,而str1和str4的常量池对象不一样
println(str1===str2) //true
println(str1===str3) //fasle
println(str1===str4) //fasle
}
执行结果