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); }