ホームページ >Java >&#&チュートリアル >リストを変更すると UnsupportedOperationException が発生するのはなぜですか?
リスト変更中のサポートされていない操作例外: 根本原因の解明
要素を追加してリストを変更しようとすると、UnsupportedOperationException が発生する場合があります。この例外は、特定の List 実装の不変または制限された性質に起因します。
影響を受ける実装の特定
1 つの一般的なインスタンスには、Arrays.asList() によって返される List が関係します。記載されているように、このリストはサイズが固定されており、要素の追加や削除を含む構造の変更が禁止されています。
Arrays.asList() からリストを直接操作していない場合でも、問題が発生する可能性があります。他の不変の List 実装、または変更機能が制限されている実装が存在するためです。
例外の洞察を調べる
根本原因を把握するには、両方のドキュメントを参照してください。 UnsupportedOperationException および List.add()。後者は、List ドキュメントで説明されているように、add() 操作が「(オプションの操作)」であることを指定します。
問題の解決: 回避策の作成
回避策として、不変の List を ArrayList などの変更可能な実装に複製することを検討してください。
<code class="java">seeAlso = new ArrayList<>(seeAlso);</code>
このアプローチにより、UnsupportedOperationException が発生することなく、リストへの要素の追加などの変更を実行できます。
以上がリストを変更すると UnsupportedOperationException が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。