农民 发表于 2024-12-25 14:40:38

List直接利用removeAll报错

List直接利用removeAll报错
需要先将list转换才能利用
原因是:
removeAll 方法在 Java 中用于从当前列表中删除另一个列表中存在的全部元素。如果直接对 List 接口的一个实现利用 removeAll 方法抛出异常,可能的原因有:

[*] 不同的List实现:如果你尝试在不支持该操作的 List 实现上利用 removeAll,比方 Arrays.asList() 创建的列表,则会抛出 UnsupportedOperationException。
[*] 并发修改异常:如果在迭代过程中尝试修改列表,会抛出 ConcurrentModificationException。
办理方法:


[*] 确保你利用的 List 实现支持 removeAll 操作,如 ArrayList, LinkedList, Vector 等。

    public static void main(String[] args) {

      List<String> list1 = Arrays.asList("CS562798662", "CS563279854", "CS563276666");
      List<String> list2 = Arrays.asList("CS562798662", "CS563279854");
      ArrayList<Object> list11 = new ArrayList<>();
      ArrayList<Object> list22 = new ArrayList<>();
      list11.addAll(list1);
      list22.addAll(list2);

      list11.removeAll(list22);
      System.out.println(list11);
      

    }

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: List直接利用removeAll报错