【发布时间】:2012-07-12 07:21:16
【问题描述】:
我有一个类 Human,其中包含两个字段,age(int) 和 >名称(字符串)。在 Eclipse 中,我用这两个字段覆盖了 hashCode() 和 equals() 方法。我还根据 age 字段创建了一个 Comparator。
现在,我创建了一个 TreeSet 对象,该对象具有 Comparator 年龄,以及 Human 类的两个实例(具有不同的字段值) .然后我将这两个对象添加到集合中,但是,集合中始终只有一个对象。
为了理解问题,我打印出这两个对象的hash值,发现它们不一样。然后,我测试了他们的 equals() 方法,当我比较具有不同字段值的两个实例时,它确实输出 false。所以现在,我无法弄清楚为什么 TreeSet 不能处理(区分)问题。谁能给我一些帮助?非常感谢!
【问题讨论】:
标签: java equals hashcode treeset