java判断集合对象中有没有这个参数
时间: 2024-03-21 15:39:13 浏览: 28
如果集合中存储的是对象,而不是基本数据类型或字符串等简单类型,那么可以使用 contains() 方法判断集合中是否存在某个对象。但是需要注意,此时需要判断的是对象的引用是否相等,而不是对象的值是否相等。
例如,假设有如下的一个 Person 类:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略
}
```
现在有一个 List 集合,存储了多个 Person 对象:
```java
List<Person> personList = new ArrayList<>();
personList.add(new Person("张三", 20));
personList.add(new Person("李四", 25));
```
可以使用如下的代码判断集合中是否存在某个 Person 对象:
```java
Person person = new Person("张三", 20);
boolean containsPerson = personList.contains(person);
```
上述代码中,containsPerson 的值为 false,因为 person 对象和集合中的 Person 对象虽然属性值相同,但是它们是不同的对象,所以它们的引用不同。如果要判断集合中是否存在属性值相同的 Person 对象,需要自定义 equals() 和 hashCode() 方法,使其比较属性值是否相等。