String 切割成 List<String> 后,再进行其中元素的移除操作的正确姿势:
(1) 按需求 进行切割;
(2) 切割所得数组,转成 List 集合;
(3) 用将原来的集合的数据,复制一遍到新集合中;
(4) 操作 新集合,进行移除。
1 public static void main(String[] args) { 2 String oldStr = "1"; 3 String[] split = oldStr.split(","); 4 List<String> stringList2 = Arrays.asList(split); // 关键点:不能直接操作此 list 进行移除。由于 stringList2 关联了 Arrays.asList(split)。需要将其誊抄一遍。 5 List<String> stringList = new ArrayList<>(); 6 stringList.addAll(stringList2); 7 Iterator<String> it = stringList.iterator(); 8 while (it.hasNext()){ 9 String value = it.next(); 10 if ("1".equals(value)) { 11 it.remove(); 12 } 13 14 System.out.println(value); 15 } 16 17 System.out.println("list=" + stringList.toString()); 18 }