关于contains 使用的注意
在使用 contains 判断集合中是否有此对象的时候,需要重写比较对象的equals方法
把需要比较的字段写入比较!!
(本博文主要介绍的是contains关于对象的比较)
例子:list使用contains
。
// 例子
public static void main(String[] args) {
List<UserRecommendPooMongo> mongos = new ArrayList<>();
mongos.add(UserRecommendPooMongo.builder().userId(1l).createTime("1").build());
mongos.add(UserRecommendPooMongo.builder().userId(2l).createTime("2").build());
mongos.add(UserRecommendPooMongo.builder().userId(3l).createTime("3").build());
mongos.add(UserRecommendPooMongo.builder().userId(4l).createTime("4").build());
mongos.add(UserRecommendPooMongo.builder().userId(5l).createTime("5").build());
mongos.add(UserRecommendPooMongo.builder().userId(6l).createTime("6").build());
IndexDataObject ins = new IndexDataObject();
ins.setUserId(2l);
ins.setPools("6666666661");
System.out.println(mongos.contains(ins));
}
//下面是重写 IndexDataObject 对象中的equals
@Override
public boolean equals(Object o) {
if (o == null) return false;
if (this == o) return true;
if (o instanceof UserRecommendPooMongo) {
UserRecommendPooMongo that = (UserRecommendPooMongo) o;
return Objects.equals(userId, that.getUserId());
}
return false;
}
以上所有,如有错误,望指正.