Listに要素を追加しようとしたらUnsupportedOperationExceptionだった
AndroidアプリでListViewに設定するAdapterに新しい要素を追加しようとしたところで例外が発生してた。Listの元をたどると、
List<Hoge> list = Arrays.asList(new Hoge[0]);
ってやってた。
その先は確認してないけど、Arrays.asList()でList化したオブジェクトは、要素の変更ができないんじゃないかと。
いちお、ぐぐってみた。
すると、Arraysのドキュメントに書かれてた。
Returns a fixed-size list backed by the specified array.
fixed-sizeって書いてるから、要素の追加や削除はできないけど、更新はできるのかも。試してないけど。
Arrays#asList() を使わずに、ArrayListのインスタンスを生成したら問題なく動作した。
List<Hoge> list = new ArrayList<Hoge>();