可能有人可能解釋爲什麼以下:差異整數containsAll行爲和int數組(JAVA)
Integer[] arr1 = {1,2,3,4,5};
Collection<?> numbers = Arrays.asList(new Integer[]{1,2,3});
System.out.println(Arrays.asList(arr1).containsAll(numbers));
打印「真」,而如果我們爲INT交換整數像這樣:
int[] arr2 = {1,2,3,4,5};
Collection<?> numbers2 = Arrays.asList(new int[]{1,2,3});
System.out.println(Arrays.asList(arr2).containsAll(numbers2));
「false」是否被打印?
+1是唯一正確的答案。 – 2013-05-03 23:40:14
我還想指出,即使在用{1,2,3,4,5}替換較小的數組{1,2,3}之後,仍然會在第二種情況下得到錯誤,而只有在兩個數組中的數組列表通過參考比較(即「==」)是相同的。 – 2013-05-04 23:09:07