如何正确的把 Java 数组 Array 转为列表 List

最近想把 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方式应该是:

List<String> b = new ArrayList<>(Arrays.asList(a));

  

没错,我大java就是这么绕。

posted @ 2018-09-29 11:27  季节潇  阅读(6344)  评论(0编辑  收藏  举报