最近想把 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就是这么绕。

相关文章:

  • 2021-11-20
  • 2021-07-03
  • 2021-08-01
  • 2021-06-18
  • 2021-09-21
  • 2021-12-17
猜你喜欢
  • 2022-12-23
  • 2021-07-25
  • 2021-07-26
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2023-03-10
相关资源
相似解决方案