Простой List.add()
и попадает в следующий |/java.lang. Исключение неподдерживаемой операции
package com.mkyong; import java.util.Arrays; import java.util.List; public class ListExample { public static void main(String[] args) { Liststr = Arrays.asList("A", "B", "C"); str.add("D"); System.out.println(str); } }
Выход
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.AbstractList.add(AbstractList.java:153) at java.base/java.util.AbstractList.add(AbstractList.java:111) at com.mkyong.ListExample.main(ListExample.java:14)
Решение
Arrays.asList
возвращает список фиксированного размера, изменение не допускается. Чтобы исправить это, попробуйте следующее:
package com.mkyong; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListExample { public static void main(String[] args) { Liststr = new ArrayList<>(Arrays.asList("A", "B", "C")); //List str = Arrays.asList("A", "B", "C"); str.add("D"); System.out.println(str); } }
Выход
[A, B, C, D]
Рекомендации
Оригинал: “https://mkyong.com/java/java-list-java-lang-unsupportedoperationexception/”