Может кто-то, возможно, объяснить, почему следующее:Разница в поведении containsAll для Integer и 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));
печать "истина", а если мы обмениваемся Integer для междунар так:
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 для того, чтобы быть единственным правильным ответом. –
Я также хотел отметить, что во втором случае все еще остается ложным, даже после замены меньшего массива {1,2,3} на {1,2,3,4,5} и истинного, только когда массивы в двух списки одинаковы с помощью сравнения ссылок (т.е. «==»). –