Kotlin 中的参考和结构平等

  • 本文关键字:结构 参考 Kotlin kotlin
  • 更新时间 :
  • 英文 :


参照平等和结构平等有什么区别 在科特林

val a = File("/myfile.txt")
val b = File("/myfile.txt")
val sameRef = a === b

和:

val a = File("/myfile.txt")
val b = File("/myfile.txt")
val both= a == b
引用
  • 相等===(也称为标识)表示两个对象的指针相同。也就是说,对象包含在相同的内存位置中,这导致我们得出指针引用同一对象的事实。

    标识:确定两个对象是否共享相同的内存地址

  • 结构相等==反过来意味着两个对象具有等价的内容。您应该通过重写 equals() 方法来指定何时应将两个对象视为相等。

    相等:确定两个对象是否包含相同的状态。

Java一样,在Kotlin中没有特定的equals(),默认情况下会生成hashCode()(不考虑数据类)。因此,在为类重写这些方法之前,=====都执行标识比较。

最新更新