gpt4 book ai didi

java - 在重写后使用 Object 的 hashCode() 和 equals() 实现

转载 作者:行者123 更新时间:2023-11-30 03:03:09 25 4
gpt4 key购买 nike

假设我有:

public class A {
@Override
public int hashCode() {
// some expensive calculation
}

@Override
public boolean equals(Object obj) {
// some expensive calculation
}
}

在我的代码中的某个时刻,我希望有一个以 A 作为键类型的映射,使用 Object's hashCode() 和 equals() 实现(即两个键当且仅当它们引用同一个对象时,类型 A 的类型才会被视为相等)。

最好的方法是什么?

最佳答案

您可以在实例化时重写方法

A a = new A(){
@Override
public int hashCode() {
return System.identityHashCode(this);
}
};

或者使用 IdentityHashMap,它使用 System.identityHashCode

关于java - 在重写后使用 Object 的 hashCode() 和 equals() 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35421834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com