Array.asList()
упаковывает массив в интерфейсе списка. Список по-прежнему поддерживается массивом. Массивы имеют фиксированный размер - они не поддерживают добавление или удаление элементов, поэтому оболочка тоже не может.
Документы не делают это так ясно, как могли бы, но они делают говорят:
Возвращает список фиксированного размера, поддерживаемый указанным массивом.
Бит фиксированного размера должен быть подсказкой, что вы не можете добавлять или удалять элементы:)
Хотя существуют и другие способы решения этой проблемы (другие способы создания ArrayList
из массива) без дополнительных библиотек, я лично рекомендовал бы воспользоваться Библиотекой коллекций Google (или * 1019). * Гуава , когда выйдет). Затем вы можете использовать:
List<Integer> list = Lists.newArrayList(array);
Причина, по которой я предлагаю это, состоит в том, что GCL - это вообще хорошая вещь, и ее стоит использовать.
Как отмечается в комментариях, для этого требуется копия массива; список не поддерживается исходным массивом, и изменения в одной коллекции не будут видны в другой.