列表修改期间不支持的操作异常:揭示根本原因
尝试通过添加元素来修改列表时,可能会出现 UnsupportedOperationException。此异常源于某些 List 实现的不可变或受限性质。
识别受影响的实现
一个常见实例涉及 Arrays.asList() 返回的 List。如文档所述,此列表是固定大小的,并且禁止结构修改,包括添加和删除元素。
即使您没有直接通过 Arrays.asList() 与列表交互,问题仍然可能出现由于存在其他不可变 List 实现或修改能力有限的实现。
探索异常的见解
要掌握根本原因,请参阅两者的文档UnsupportedOperationException 和 List.add()。后者指定 add() 操作是“(可选操作)”,如 List 文档中所述。
解决问题:制定解决方法
作为解决方法,请考虑将不可变的 List 复制到可修改的实现中,例如 ArrayList:
<code class="java">seeAlso = new ArrayList<>(seeAlso);</code>
此方法允许您执行修改,例如向列表添加元素,而不会遇到 UnsupportedOperationException。
以上是为什么修改列表时出现 UnsupportedOperationException?的详细内容。更多信息请关注PHP中文网其他相关文章!