首頁 > Java > java教程 > 主體

為什麼修改清單時出現 UnsupportedOperationException?

Linda Hamilton
發布: 2024-11-06 03:35:02
原創
563 人瀏覽過

Why Do I Get an UnsupportedOperationException When Modifying a List?

列表修改期間不支援的操作異常:揭示根本原因

嘗試透過新增元素來修改清單時,可能會出現 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板