List<String> a = new ArrayList<String>();
List<String> b = new ArrayList<String>();
a.add("apple");
a.add("orange");
System.out.println(a.containsAll(b));
上面的程序打印出一个True。不明白为什么打印真实?
答案 0 :(得分:25)
因为B
为空。 A
包含B
中的所有内容。
答案 1 :(得分:8)
因为b
为空。因此,b
中的任何内容都不在a
中。
答案 2 :(得分:6)
这是一个逻辑问题: A是否包含B内的所有元素?
这可以看作是B中每个元素的,这个元素也属于A吗?
你可以理解条件是真的,因为B是空的,没有要检查的元素:对于B中的每个元素,所以没有元素。
答案 3 :(得分:2)
如果列表包含目标中的所有元素,则List.ContainsAll将返回true。因为B是空的A包含与B相同的所有元素。
答案 4 :(得分:0)
显然是一个错字。 b.add(&#34; orange&#34;)就是这个意思。