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; } }