在我们的项目中,我们使用Spring with Hibernate,我们使用其他团队jar作为依赖jar从oracle数据库中获取数据。
我们正在获取重复记录,即使我们在模型类中实现了equals()和hashCode()方法,并且我们将这些对象存储在HashSet中。我很奇怪为什么set在这里允许重复的对象。即使重写了hashCode()和equals()方法?。
如果您观察到屏幕截图,则modcount大小不同且表格大小不同
答案 0 :(得分:3)
从您的班级中删除hashCode()或equals()
如果您在类中覆盖equals和hashcode方法,则等于对象返回相同的hashCode .. HashSet不允许使用相同的哈希码,因为HashSet根据hashCode验证重复,所以解决方案适合您:你可以从你的类中删除hashCode()或equals()