java中,如何判断List<User>中的是否包含User,给一个代码
时间: 2024-05-15 11:18:07 浏览: 138
示例。
可以使用List的contains()方法判断List<User>是否包含指定的User对象。示例如下:
```java
List<User> userList = new ArrayList<>();
User user1 = new User("Alice");
User user2 = new User("Bob");
userList.add(user1);
userList.add(user2);
User user3 = new User("Charlie");
boolean containsUser3 = userList.contains(user3);
System.out.println(containsUser3); // false
User user4 = new User("Alice");
boolean containsUser4 = userList.contains(user4);
System.out.println(containsUser4); // true
```
其中,User是一个自定义的类。需要重写equals()和hashCode()方法,才能正确地比较两个User对象是否相等。示例如下:
```java
class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof User)) {
return false;
}
User other = (User) obj;
return this.name.equals(other.name);
}
@Override
public int hashCode() {
return name.hashCode();
}
}
```
在上面的例子中,User类只有一个name属性。因此,比较两个User对象是否相等,只需要比较它们的name属性即可。如果User类有其他属性,那么equals()和hashCode()方法需要相应地进行修改。
阅读全文