You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中List.of创建的列表调用removeAll报错的原因排查

问题原因分析

核心问题在于你用List.of(1,2,3,4)创建的a1temp是不可变列表,这类列表不支持任何修改操作,包括removeAll()。

  • Java 9及以上的List.of()方法,返回的是JDK内部实现的不可变List实例(比如ImmutableCollections.ListN)。这种列表是只读设计,所有涉及添加、删除元素的结构修改方法,都会直接抛出UnsupportedOperationException。
  • 你调用的removeAll()属于修改列表结构的操作,自然触发了该异常,控制台的“Can't delete”就是对这个异常的捕获提示。

如果要实现删除重复元素的需求,需要把不可变列表转换为可变的List实现类(比如ArrayList),代码示例如下:

// 将不可变列表包装进ArrayList,得到可变列表
List<Integer> a1temp = new ArrayList<>(List.of(1,2,3,4));
// 此时调用removeAll()即可正常执行
a1temp.removeAll(GA);

内容的提问来源于stack exchange,提问作者Arolar Tuvore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 07:38:12