我有一个自定义对象数组列表,该对象必须位于数组列表中,但是列表中有一些重复项,我想在添加到列表之前进行检查。如何做到这一点。受害人SocialSecurityNumber是唯一的。下面是我的代码:
码
while (rs.next()){
Citizens victims = new Citizens();
victims.setSocialSecurityNumber(rs.getInt("victimSocialSecurityNumber"));
victims.setfName(rs.getString("victimFName"));
victims.setlName(rs.getString("victimLName"));
victims.setPhoto(rs.getString("victimPhoto"));
victims.setName(rs.getString("victimFName") +" "+ rs.getString("victimLName"));
crime.getVictims().add(victims);
最佳答案
假设公民优先于等于,您可以这样做
if (!crime.getVictims().contains(victims)) {
crime.getVictims().add(victims);
}
虽然通常在不允许重复时解决方案是“设置”
如果您不确定如何覆盖equals / hashCode,请阅读http://javarevisited.blogspot.com/2011/10/override-hashcode-in-java-example.html