我刚看到一段代码,
List<String> a = new ArrayList<String>();
a.add("A");
a.add("B");
a.add("C");
List<String> b = new ArrayList<String>();
b.add("A");
b.add("B");
b.add("C");
System.out.println("a.contains(b)"+a.contains(b));
Run Code Online (Sandbox Code Playgroud)
正在返回假我所期望的true价值.
我惊呆了,看到了这个contains方法提供的方法java.这是预期的行为,以及此contains方法的用途List
a.contains(b)检查是bList中包含的单个元素a,在您的示例中显然是错误的,因为没有任何元素a是a List.
您正在寻找a.containsAll(b),它检查是否Collection b存在所有元素a.
阅读Javadoc:
/**
* Returns <tt>true</tt> if this list contains the specified element.
* More formally, returns <tt>true</tt> if and only if this list contains
* at least one element <tt>e</tt> such that
* <tt>(o==null ? e==null : o.equals(e))</tt>.
* ...
*/
boolean contains(Object o);
/**
* Returns <tt>true</tt> if this list contains all of the elements of the
* specified collection.
* ...
*/
boolean containsAll(Collection<?> c);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |