import java.util.*;
class ListVectorTest 
{
public static void main(String[] args) 
{
String a="abc";
String b="abc";
List list=new ArrayList();
list.add(a);
Vector vec=new Vector();
vec.add(a);
System.out.println("list.contains(b):  "+list.contains(b));
System.out.println("vec.contains(b):  "+vec.contains(b)); String a1="abc";
String b1=new String ("abc");
List list1=new ArrayList();
list.add(a1);
Vector vec1=new Vector();
vec1.add(a1);
System.out.println("list1.contains(b1):  "+list1.contains(b1));
System.out.println("vec1.contains(b1):  "+vec1.contains(b1));

}
}结果:list.contains(b):  true
vec.contains(b):  true
list1.contains(b1):  false
vec1.contains(b1):  true看了一下ArrayList 和 Vector的源码他们的contains()方法源码,都是用的equals()来比较的呀!
他们怎么会有不同的结果呢?