Kotlin相等性

Kotlin 中有两种类型的相等性:

  • 引用相等(两个引用指向同一对象)
  • 结构相等(用 equals() 检查)

引用相等

引用相等由 ===(以及其否定形式 !==)操作判断。a === b
当且仅当 ab 指向同一个对象时求值为 true。

结构相等

结构相等由 ==(以及其否定形式 !=)操作判断。按照惯例,像 a == b 这样的表达式会翻译成
a?.equals(b) ?: (b === null)
也就是说如果a不是null则调用equals(Any?)函数,否则(即anull)检查 b 是否与null引用相等。

请注意,当与 null 显式比较时完全没必要优化你的代码:a == null 会被自动转换为 a=== null

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2022

备案号:京ICP备15003423号-3