Рубрики
Без рубрики

Список Java вызывает исключение UnsupportedOperationException

– Список Java вызывает исключение UnsupportedOperationException

Автор оригинала: mkyong.

Как правило, мы используем Массивы.asList или новая Java 9 Список.из для создания списка . Однако оба метода возвращают фиксированный размер или неизменяемый Список , это означает, что мы не можем его изменить, иначе он выбрасывает Исключение UnsupportedOperationException .

package com.mkyong;

import java.util.Arrays;
import java.util.List;

public class JavaListExample {

    public static void main(String[] args) {

        // immutable list, cant modify, java.util.Arrays$ArrayList
        List list = Arrays.asList(1, 2, 3, 4, 5);

        // immutable list, cant modify , java 9
        List list2 = List.of(1, 2, 3, 4, 5);

        //list.add(6); // UnsupportedOperationException
        list.add(6);   // UnsupportedOperationException

    }
}

Выход

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)

Решение

Если мы хотим создать изменяемый список, который позволяет нам изменять его, создайте ArrayList .

package com.mkyong;

import java.util.ArrayList;
import java.util.List;

public class JavaListExample {

    public static void main(String[] args) {

        List list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        list.add(6); // modify the list

        list.forEach(System.out::println);

    }

}

Выход

1
2
3
4
5
6

Рекомендации

Оригинал: “https://mkyong.com/java/java-list-throws-unsupportedoperationexception/”