import java.util.ArrayList;
import java.util.Collection;
public class ContainsTest {
public static void main(String[] args) {
//建立集合
Collection C = new ArrayList();
//添加元素
C.add(1);
//判斷是否包含
System.out.println(C.contains(1));//true
Integer m = new Integer(50);
C.add(m);
Integer n = new Integer(50);
//
System.out.println(C.contains(n));//true 說明底層已經重寫了equals方法
Manager m1 = new Manager(100, "jack");
C.add(m1);
Manager m2 = new Manager(100, "jack");
//如果兩個引用的編號和姓名一致,那說明包含,這樣把底層的equals方法進行重寫
//而contains在底層的時間使用equals方法判斷是否重復
System.out.println(C.contains(m2));
}
}
class Manager{
int number;
String name;
public Manager(int number,String name) {
this.number=number;
this.name=name;
}
public boolean equals(Object o){
if(this==o)
return true;
if (o instanceof Manager){
Manager s =(Manager)o;
if(s.number==this.number && s.name.equals(this.name)){
return true;
}
}
return false;
}
}