#java

Java:List操作時のUnsupportedOperationExceptionについて

久々にJavaを書いたので、表題のExceptionにハマっちゃいました。 こんなコードでした。

String** array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
list.add("d");

ちょこっとググッてみたらasListで作ったListに add()で要素を追加すると上記のExceptionになるそうです。 asListのJavadocでの記載は

指定された配列を基にする固定サイズのリストを返します。返されたリストへの変更は、そのまま配列に書き込まれます。(後は省略)

なるほど。。。 とりあえず深く考えずに下記のように書き換えて回避しました。

String** array = {"a", "b", "c"};
List<String> list = new ArrayList<String>();
list.addAll(Arrays.asList(array));
list.add("d");
Qihuan Piao

朴 起煥

中国育ち、東京暮らし。読んだり書いたり、時には考え込んだり。親になってから5年ほど、ブログ(とその他もろもろ)は完全停止していたけど、気づけばまた書いている。ここにはそんな寄り道の記録を書いています。結論が出ない話も多いけど、それもまたよし。