public class ListContainsTest {
private List<Person> personList;
public ListContainsTest() {
personList = new ArrayList<>();
for (int i = 0; i < 5; i++) {
personList.add(new Person("zhangsan"+i, 29+i));
}
}
public boolean containsPerson(Person person) {
if (personList.contains(person)) {
System.out.println("contains is true.");
return true;
} else {
System.out.println("contains is false.");
return false;
}
}
public static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/*must overide this function*/
@Overridepublic boolean equals(Object obj) { if (obj instanceof Person) { Person p = (Person)obj; if (p.getName().equals(getName()) && p.getAge() == getAge()) { return true;} } return false;} } public static void main(String[] args) { ListContainsTest test = new ListContainsTest();test.containsPerson(new Person("zhangsan0", 29));}}