并非每个
List实现都支持该
add()方法。
一个常见的示例是通过以下方式List返回的
Arrays.asList():它被记录为不支持任何结构修改(即,删除或添加元素)(强调我的意思):
返回由指定数组支持的固定大小的列表。
即使这不是List你要修改的特定内容,答案仍然适用于List不可变或仅允许某些选定更改的其他实现。
你可以通过阅读的文档,了解这个
UnsupportedOperationException和
List.add(),其中记录了这是一个“(可选操作)”。该短语的确切含义在List文档顶部进行了说明。
解决方法是,你可以将列表的副本创建到已知的可修改实现中,例如
ArrayList:
seeAlso = new ArrayList<>(seeAlso);



