kotlin的相等性 == 和===

kotlin的相等性 == 和===

对kotlin的相等性做个简单的记录

kotlin中有两种类型的相等性

  • 结构相等
  • 引用相等

结构相等

这个可以简单的理解为判断内容是否相等(Java的equals方法),使用的是 == 符号来实现

kotlin中的
a == b

等价于下面这种

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

这个kotlin写法翻译为Java可以用下面这种写法表示:

if(a == null)
    return b == null;
else 
    return a.equals(b)

引用相等

这个由 === 实现

a === b 

当a和b指向的是同一个对象时才返回true

参考:

https://www.kotlincn.net/docs/reference/equality.html

https://zhuanlan.zhihu.com/p/27214002


版权声明:本文为thirteenmonth原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。