List処理中でのUnsupportedOperationException

Kazutoshi Shinoda 6views 更新:2016年11月22日
List<String> list = Collections.emptyList();
templist.add("Aipo")

上記のように空のリストを作ってから要素を追加しようとすると、型は合っているにもかかわらず

例外が発生しました: java.lang.UnsupportedOperationException

というエラーを吐かれました。

原因はemptyList()を使うと固定長のリストが帰ってくるため、add操作ができないからです。

Arrays.asList()を使っても同様の理由で後からaddできない問題が起きます。

List<String> list = new ArrayList<>();
list.add("Aipo")

このようにArrayListという可変長のクラスでnewすればOKです。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません