Выполняя простую программу, я заметил эту проблему.
int[] example = new int[10];
List<Integer> exampleList = Arrays.asList(example);// Compilation error here
Ошибка компиляции возвращается как cannot convert from List<int[]> to List<Integer>
. Но List<int>
не разрешено в java, поэтому почему такая ошибка компиляции?
Я не спрашиваю об автобоксинге здесь. Мне просто интересно, как Arrays.asList
может вернуться List<int[]>
.
Реализация asList
public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
}
Поэтому он обрабатывает int [] как T, поэтому это происходит.