等式
- 相等
- 参照相等
- 结构相等
相等
kotlin中有两种相等
参照相等(指向相同的对象)
结构相等
参照相等
参照相等是通过===
操作符判断的(不等是!==
)a===b,只有a,b指向同一个对象时判断才成立
另外:你可以使用内联函数identityEquals()
判断参照相等:???下面等式没法验证
a.identityEquals(b)
a identityEquals b
结构相等
结构相等是通过==
判断的,像a==b
会翻译成:
a?.equals(b)?:b===null
如果a不是null则调用equals(Any?)
函数,否则检查b是否参照等于null
注意完全没有必要为了优化你的代码而将a==null
协程a===null
编译器会自动帮你做