List的contains方法用于判断对象是否存在于列表中。
举例说明:
这里简单的创建一个User类:
public class User {
private String id;
private String name;
private String phone;
private String address;
//忽略getters和setters
}
在main方法中创建3个User对象,并使他们的值相等。
User u1 = new User();
u1.setId("1111111");
u1.setName("name1");
u1.setAddress("add1");
u1.setPhone("pn111");
User u2 = new User();
u2.setId("1111111");
u2.setName("name1");
u2.setAddress("add1");
u2.setPhone("pn111");
User u3 = new User();
u3.setId("1111111");
u3.setName("name1");
u3.setAddress("add1");
u3.setPhone("pn111");
创建一个List,并将u1和u2添加到list中
List<User> users = new ArrayList<User>();
users.add(u1);
users.add(u2);
此时,判断u3是否存在于list中必然是false,因为u3与list中任何一个对象的地址都不相同:
在这里插入图片描述
那么,如果我们只需要u3的name属性能相等于list中任一对象的name属性,就判断u3是存在于list中呢?这时候需要重写User类的equls方法:
public boolean equals(Object o) {
if(o==null) {
return true;
}
User obj = (User)o;
if(name.equals(obj.name)) {
return true;
}
return false;
}
这时候返回的值就是true了:
在这里插入图片描述。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/122421706
内容来源于网络,如有侵权,请联系作者删除!