2011-05-25 16 views
12
 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。不明白爲什麼它打印真實?ContainsAll List Java

回答

22

因爲B爲空。 A包含B中的所有內容。

2

如果列表包含目標中的所有元素,則List.ContainsAll將返回true。由於B爲空A包含與B相同的所有元素。

6

這是一個邏輯問題:確實A包含B中的所有元素嗎?

對於B中的每個元素,這可以看作是,這個元素是否也屬於A?

您可以理解條件爲真,因爲B是空的,沒有元素可以檢查:對於B中的每個元素,因此對於沒有元素。

0

顯然是一個錯字。 b.add(「橙色」)是什麼意思。