java Arrays.asList furcsaság

Nem teljesen értem miért nem működik ez a kód:


List stooges = Arrays.asList("Larry", "Moe", "Curly");
stooges.remove(1);

hiba: Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:144)
at Test.main(Test.java:13)

Viszont így már működik:


ArrayList stooges2 = new ArrayList(Arrays.asList("Larry", "Moe", "Curly"));
stooges2.remove(1);

Hozzászólások

Mert csak egy nezetet kapsz az Array-rol, nem pedig egy uj listat. Az Array pedig egy fix meretu valami, torolni, hozzaadni ugy tudom, nem lehet, csak ha uj Array-t gyartasz. Szerintem. De majd jonnek az okosok.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Arrays.asList() dokumentációjának első mondata:

"Returns a fixed-size list backed by the specified array."