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