Особенности Arrays.asList(T... elements)
Arrays.asList(T... elements) и Collection.toArray() являются стандартным (так говорят javadoc'и) мостом между библиотеками, работающими с массивами и коллекциями. Звучит красиво, что уж там.
Немногие дочитывают до того места, в котором говорится, что полученный List является fixed-size. А это означает, например, что оттуда нельзя удалить элемент. Этот баг можно быстро найти и понять, но тем не менее. В общем, я был неприятно удивлён. Что побудило Sun реализовать метод именно так я не смог понять (поэтому мне сложно решить, пометить запись меткой "фича" или "кривота"...выберу обе).
Как лечится?
Например, так:
Arrays.asList(T... elements) и Collection.toArray() являются стандартным (так говорят javadoc'и) мостом между библиотеками, работающими с массивами и коллекциями. Звучит красиво, что уж там.
Немногие дочитывают до того места, в котором говорится, что полученный List является fixed-size. А это означает, например, что оттуда нельзя удалить элемент. Этот баг можно быстро найти и понять, но тем не менее. В общем, я был неприятно удивлён. Что побудило Sun реализовать метод именно так я не смог понять (поэтому мне сложно решить, пометить запись меткой "фича" или "кривота"...выберу обе).
Как лечится?
Например, так:
List<Integer> list = new ArrayList<Integer>(Arrays.asList(1, 2, 3));