Простой List.add() и попадает в следующий |/java.lang. Исключение неподдерживаемой операции
package com.mkyong;
import java.util.Arrays;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List str = 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) {
List str = 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/”