Java 使用对象';重写hashCode()和equals()实现后
假设我有:Java 使用对象';重写hashCode()和equals()实现后,java,dictionary,overriding,equals,hashcode,Java,Dictionary,Overriding,Equals,Hashcode,假设我有: public class A { @Override public int hashCode() { // some expensive calculation } @Override public boolean equals(Object obj) { // some expensive calculation } } 在我的代码中的某一点上,我希望使用对象的hashCode()和equals()
public class A {
@Override
public int hashCode() {
// some expensive calculation
}
@Override
public boolean equals(Object obj) {
// some expensive calculation
}
}
在我的代码中的某一点上,我希望使用对象的hashCode()和equals()实现(即,当且仅当类型a的两个键引用同一个对象时,才认为它们相等),得到一个以a作为键类型的映射
最好的方法是什么?您可以在实例化时重写方法
A a = new A(){
@Override
public int hashCode() {
return System.identityHashCode(this);
}
};
或者使用
IdentityHashMap
使用系统。identityHashCode
使用@markspace Perfect,谢谢!!