我定义了一个equals方法,但是Hashtable忽略了它。为什么?

时间:2011-04-07 12:35:40

标签: java collections hashtable

我定义了一个equals方法,但是Hashtable忽略了它。为什么呢?

3 个答案:

答案 0 :(得分:2)

首先,请确保您使用正确的集合:可能需要HashMap。其次,确保你已正确定义了equals()(equals(Object o)),并确保你已经实现了一个有效的hashCode()。

答案 1 :(得分:0)

HashTable使用hashCode()equals()

答案 2 :(得分:0)

除了覆盖equals之外,您还应提供方法hashCode()

      @Override
      public boolean equals(Object obj) {
          // ... 
      }

      @Override
      public int hashCode() {
          // ....
      }