java – 使用一个对象的实例作为hashmap的关键字,然后使用完全新的对象访问它?

参见英文答案 > What issues should be considered when overriding equals and hashCode in Java?                                    1
我有一个关键对象的hasmap,

HashMap<Key, Object> test;

并将新的密钥(“相同”)作为密钥。

所以它喜欢..:

test.put(new Key("the same"), someObject);

(不将该键存储在变量中)

所以..过了一会儿…我想访问hashmap,
因为我没有这个对象,我试图使新的Key(“相同”)并将其作为一个关键。
但它没有工作。

如何使其工作? (不将第一个对象“key”保存在变量中)

所以同时,现在,我使用String对象作为关键。

HashMap<String, Object>
您需要在Key上实现hashCode和equals。这些方法的default implementation只是检查实例的相等性(换句话说,如果两个对象实际上是相同的对象,则两个对象只能相等)。

进一步阅读

Effective Java – Methods common to all objects

http://stackoverflow.com/questions/9440380/using-an-instance-of-an-object-as-a-key-in-hashmap-and-then-access-it-with-exac

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 使用一个对象的实例作为hashmap的关键字,然后使用完全新的对象访问它?