@cxm-2016
2017-02-01T19:19:42.000000Z
字数 355
阅读 2226
Kotlin
在 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
.