在重写之前,Kotlin/JVM中的每个类都有默认的equals/hashCode实现。Equals是用===
检查引用是否相等,但hashCode是另外一回事(我不知道它是什么)。
我想知道一旦被覆盖,我是否可以恢复hashCode的默认实现,考虑这个例子:
open class A {
override fun hashCode(): Int = 1
}
class B : A() {
override fun hashCode(): Int {
// how can I get the default implementation here?..
}
}
1条答案
按热度按时间2w2cym1i1#
你不能访问super.super方法,但JVM实际上提供了一个方法来获取原始的哈希码值: