我有一个类Human,其中包含两个字段age(int)和name(String)。使用 Eclipse,我用这两个字段覆盖了hashCode()和equals()方法。我还根据年龄字段创建了一个比较器。
现在,我创建了一个带有年龄比较器的TreeSet对象,以及Human类的两个实例(具有不同的字段值) 。然后我将这两个对象添加到集合中,但是,集合中始终只有一个对象。
为了理解问题,我打印出这两个对象的哈希值,发现它们是不同的。然后,我测试了他们的equals()方法,当我比较具有不同字段值的两个实例时,它确实输出false 。所以现在,我无法弄清楚为什么TreeSet不能处理(区分)问题。谁能给我一些帮助?非常感谢 !