今天遇到这么一个异常:
- Exception in thread "main" java.lang.UnsupportedOperationException
- at java.util.AbstractList.remove(AbstractList.java:144)
- at java.util.AbstractList$Itr.remove(AbstractList.java:360)
- at java.util.AbstractCollection.remove(AbstractCollection.java:252)
- at com.test.test01.Test.main(Test.java:27)
我想把一串字符串eg: "123,4343,34543543",直接解析成List,然后删除其中的某一个元素,结果就出问题了,具体如下:
- String testStr = "100,300,400,545,666";
- List<String> test = Arrays.asList(testStr.split(","));
- test.remove("100");
- String testStr = "100,300,400,545,666";
- List<String> test = new ArrayList<String>();
- for(String t : testStr.split(",")){
- test.add(t);
- }
- test.remove("100");
方案二:
- String testStr = "100,300,400,545,666";
- List<String> test = new ArrayList<String>();
- test.addAll(Arrays.asList(testStr.split(",")));
- test.remove("100");
方案三:
用java8新特性
String testStr = "100,300,400,545,666";
List<String> test = Arrays.asList(testStr.split(","));
test = test.stream().filter(line -> !"100".equals(line)).collect(Collectors.toList());
test .forEach(System.out::println);