1、结构相等
== 判断相等, != 判断不相等 (用 equals()
检测)
a == b
这样的表达式背后实现
// 若 a 不是 null 则调用 equals(Any?) 函数,a 是 null 则检测 b 是否与 null 引用相等
a?.equals(b) ?: (b === null)
null 显式比较时, a == null 会被自动转换为 a === null
2、引用性等
=== 判断相等, !== 判断不相等 (两个引用指向同一对象)
a === b
当且仅当 a
与 b
指向同一个对象时求值为 true;对于运行时以原生类型表示的值 (例如 Int
),===
相等检测等价于 ==
检测