美文网首页
kotlin基础笔记之相等性

kotlin基础笔记之相等性

作者: android难民 | 来源:发表于2017-08-08 14:23 被阅读16次

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

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

引用相等

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

结构相等

结构相等由 ==(以及其否定形式 !=)操作判断。按照惯例,像 a == b 这样的表达式会翻译成

a?.equals(b) ?: (b === null)
也就是说如果 a 不是 null 则调用 equals(Any?) 函数,否则(即 a 是 null)检查 b 是否与 null 引用相等。

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

总结:
“===”表示的是否引用地址相同
“==” 表示内容是否相同,等同于equals(),比较其值是否相等

相关文章

  • kotlin基础笔记之相等性

    Kotlin 中有两种类型的相等性: 引用相等(两个引用指向同一对象)结构相等(用 equals() 检查) 引用...

  • kotlin入门潜修系列教程

    kotlin入门潜修之开门篇—kotlin是什么? kotlin入门潜修之基础篇—基础语法kotlin入门潜修之基...

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin协程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin空指针安全(null-safety)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin函数式编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin面向对象编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin类型系统笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

      本文标题:kotlin基础笔记之相等性

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