美文网首页
Kotlin编码窍门之相等(Equality)

Kotlin编码窍门之相等(Equality)

作者: 已迁至知乎_此不再维护 | 来源:发表于2017-06-03 11:15 被阅读0次

Kotlin中有两种类型的相等:

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

引用相等(Referential equality)

引用相等通过===操作符(相反操作符是!==)来检查。当a===b返回true的时候,意味着ab指向同一个对象。

结构相等(Structural equality)

结构相等通过==操作符(相反操作符是!=)来检查。按照惯例,a == b的表达式将会被翻译为:

a?.equals(b) ?: (b === null)

也就是说,如果a不是null,将调用equals(Any?)函数,否则,将检查b是否是null

注意:当显示与null比较的时候,没有必要优化你的代码:a == null将会被自动转换为a === null

相关文章

网友评论

      本文标题:Kotlin编码窍门之相等(Equality)

      本文链接:https://www.haomeiwen.com/subject/rfwpfxtx.html