【第三阶段】kotlin语言中的==与===比较操作

"==" 内容的比较 相当于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  
  
}

执行结果

相关推荐
神罚天下ET8 小时前
c# ACME client (补充)
开发语言·c#
plainGeekDev9 小时前
工厂模式 → Hilt
android·java·kotlin
小灰灰搞电子9 小时前
Qt 实现魔法导航菜单源码分享
开发语言·qt
持敬chijing9 小时前
Python概述
开发语言·python
雨白9 小时前
深入理解 Kotlin 协程 (十):引而不发,探秘 Flow 冷流机制与异常透明性
android·kotlin
plainGeekDev9 小时前
Application 单例 → Hilt Singleton
android·java·kotlin
程序员码歌10 小时前
我全程用 AI开发了一款微信小游戏,上线了
android·前端·游戏开发
黄林晴11 小时前
你敢信吗?同样是跨端,KMP 跟 RN 居然差这么多!
android·前端
lpfasd12311 小时前
编程语言榜单变迁分析
开发语言·后端·scala
名字还没想好☜11 小时前
Go 用 bufio.Scanner 读大文件踩坑:默认 64KB 行上限、Buffer 扩容与按 Token 切分
开发语言·后端·golang·go