Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

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

2010年04月16日 by kinopyo | Java


久々に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");

Tags: ,

You can leave a response, or trackback from your own site.

関連記事