У меня есть следующий фрагмент кода для замены.
public static <E> void swap(List<E> list, int i, int j){
E temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
Теперь, когда я использую List с массивом Integer, как показано ниже
Integer[] ar = new Integer[]{1,2};
swap(Arrays.asList(ar),1,0);
Работает нормально и выдает вывод [2,1]
Но я использую List с массивом int, как показано ниже
int[] ar = new int[]{1,2};
swap(Arrays.asList(ar),1,0);
Выдает исключение ArrayIndexOutOfBounds. Я не понимаю, почему это происходит. Список должен обрабатывать элемент int только как объект. Маленькая помощь, пожалуйста.