从列表中删除元素时出现UnsupportedOperationException

时间:2013-04-10 04:13:59

标签: java list

我有两个逗号分隔值的字符串,比如一个数字从1到10,另一个有素数。我想

  

从数字中删除素数

这是我的代码段:

String numbers = "1,2,3,4,5,6,7,8,9,10";
String prime = "2,3,5,7";

List<String> numList = Arrays.asList(numbers.split(","));
numList.removeAll(Arrays.asList(prime.split(",")));

我收到了UnsupportedOperationException。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:5)

尝试使用它: -

List<String> numList = new ArrayList<>(Arrays.asList(numbers.split(",")));

如果你看一下docs: -

  

UnsupportedOperationException - 如果removeAll操作不是   此列表支持

Arrays.asList会返回一个固定大小的列表,因此,当您尝试对其执行UnsupportedOperationException操作时,会获得remove