contains方法源码:
public boolean contains(Object o) {
return indexOf(o) >= 0;
}
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if(o.equals(elementData[i]))
return i;
}
return -1;
}
集合存储String类型时:
ArrayList<String> names = new ArrayList<String>();
names.add("Jim");
System.out.println(names.contains("Jim"));
contains后的形参传给contains中的o,contains返回一个boolean类型indexOf(o) >= 0,o传给indexOf中的o,1.若形参为null,则判断集合中是否有null。2.若形参不为null即进入else方法体,遍历集合中的元素,用String类<