1

我有两个对象的哈希图,但它似乎返回不同的值,因为哈希码不同。前任。

HashMap<HashMapTest, String> newMap = new HashMap<HashMapTest, String>();
    newMap.put(new HashMapTest("test"), "line");
    System.out.println(newMap.get(new HashMapTest("test")));

当我将它放入哈希图中和从哈希图中获取它时,哈希码是不同的。有没有办法解决这个问题?

4

1 回答 1

6

您是否提供了该hashCode()方法的自定义实现HashMapTest?我猜不是,这是hashCode()继承自的默认行为java.lang.Object(您实际上正在使用两个不同的对象。)看看这个问题为您的类提供正确hashCode/equals的实现。

于 2012-04-21T15:46:37.287 回答