【Java】Listにaddできないときに確認する点
この記事では、JavaでのListでaddできないときの対処法を解説します。
まず、Listのaddメソッドを使用することでListに要素を追加することができます。
add | Listに要素を追加する |
List<String> list= new ArrayList <>(); list.add("テスト"); System.out.println(list); //実行結果 [テスト]
一方で次の場合は、addで要素を追加しようとするとエラーとなります。
String str[] = new String[]{"a", "b", "c"}; List<String> List = Arrays.asList(str); List.add("テスト"); System.out.println(List); //実行結果 Exception in thread "main" java.lang.UnsupportedOperationException
Arrays.asList(str)は変更不可のListとして返しているため、「java.lang.UnsupportedOperationException」のエラーとなります。
JavaでのListでaddできないときはListが変更可能かどうか確認します。
上記のように変更できないListの場合は、new ArrayList <>()を使用して変更可能なListを使用してあげることでaddできないのが解消できます。
String str[] = new String[]{"a", "b", "c"}; List<String> List = new ArrayList <>(Arrays.asList(str)); List.add("テスト"); System.out.println(List); // [a, b, c, テスト]
Listにaddできるようになったのを確認できました。
Javaの記事の一覧はJava にまとめてあります