BUG复现

原因分析
使用List.of()、Collections.singletonList()构造出的List都是不可变(immutable)的。如果非要往里加入元素,就会抛出UnsupportedOperationException。
immutable特性在List.of()、Collections.singletonList()方法源码注释也有说明:

解决方案
1. 使用支持动态添加的列表
将不可变列表转换为 ArrayList 等支持动态修改的列表类型:
// 不可变列表
List<String> originalList = Arrays.asList("item1", "item2");
// 修改为创建可变列表
List<String> mutableList = new ArrayList<>(originalList);
// 现在可以安全添加元素
mutableList.add("newItem");
2. 直接初始化可变列表
如果列表一开始就需要动态修改,直接使用 ArrayList 初始化:
// 直接创建可变列表
List<String> list = new ArrayList<>();
list.add("item1");
list.add("item2");
Java异常处理:UnsupportedOperationException解决方案
1340

被折叠的 条评论
为什么被折叠?



