最近想把 java 數組轉成 List,網上普遍的答案都是 Arrays.asList:
String[] a = new String[] {"hello", "world"}; List<String> b = Arrays.asList(a);
然后我就喜滋滋的開始了下面的操作:
b.remove(1);
沒錯,最后我得到了一個UnsupportedOperationException。頓時心里一頓mmp。
回頭看原來 Arrays.asList 返回的是一個靜態內部類 java.util.Arrays.ArrayList.ArrayList 並不是常用的哪個 java.util.ArrayList,而這個內部類是一個固定大小不能修改的玩意兒。
List<String> b = new ArrayList<>(Arrays.asList(a));
沒錯,我大java就是這么繞。