在List.contains()方法比较list对象中是否已包含某个对象实例,需要重写这个对象的equals对象,用对象中某个(或几个)属性作为判断对象是否一致的条件(contains方法依据Object的equals方法来判断是否包含某一属性),比如下面的例子就是使用了User对象中重写了equals方法,并使用身份证号属性相同来判断User对象是一样。
注意下,如果要比较对象实例不重写equals方法则比较的是对象的地址,只有对象地址一样才会返回true
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof User)) return false;
User u= (User) obj;
return Objects.equals(getCardId(), u.getCardId());
}