[解決済み】Java List.add() UnsupportedOperationException
2022-03-31 04:42:02
質問
にオブジェクトを追加しようとしています。
List<String>
インスタンスを作成しましたが
UnsupportedOperationException
.
なぜかわかる方いらっしゃいますか?
私のJavaコードです。
String[] membersArray = request.getParameterValues('members');
List<String> membersList = Arrays.asList(membersArray);
for (String member : membersList) {
Person person = Dao.findByName(member);
List<String> seeAlso;
seeAlso = person.getSeeAlso();
if (!seeAlso.contains(groupDn)){
seeAlso.add(groupDn);
person.setSeeAlso(seeAlso);
}
}
エラーメッセージです。
java.lang.UnsupportedOperationException java.util.AbstractList.add(不明なソース) java.util.AbstractList.add(不明なソース) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
どのように解決するのですか?
すべての
List
の実装は
add()
メソッドを使用します。
よくある例としては
List
が返す
Arrays.asList()
: それは文書化されています
ではない
は、あらゆる構造的な修正(つまり、要素の削除や追加)をサポートします(強調表示)。
を返します。 固定サイズ 指定された配列にバックされたリストです。
それが具体的でないとしても
List
を修正しようとしている場合でも、この答えは他の
List
の実装は、不変であるか、一部の選択された変更のみを許可しています。
のドキュメントを読めば、そのことがわかります。
UnsupportedOperationException
と
List.add()
で、これは「(オプションの操作)"」であると文書化されています。このフレーズの正確な意味は
List
のドキュメントを参照してください。
回避策として、以下のような既知の変更可能な実装にリストのコピーを作成することができます。
ArrayList
:
seeAlso = new ArrayList<>(seeAlso);
関連
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] enumのordinalを使用するのは良い習慣ですか?
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] IntegerからBigIntegerへの変換
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について
-
[解決済み] .lengthが解決できない、またはフィールドでない