UnsupportedOperationException
Возникает при вызове операции, которую объект не поддерживает, — например, изменение неизменяемой коллекции.
Доступно с: Java 1.2
Синтаксис
public class UnsupportedOperationException extends RuntimeExceptionПримеры
Неизменяемый список:
void main() {
List<String> fixed = List.of("a", "b");
try {
fixed.add("c");
} catch (UnsupportedOperationException e) {
IO.println(e);
}
List<String> resizable = Arrays.asList("x", "y");
resizable.set(0, "z");
IO.println(resizable);
}Результат:
java.lang.UnsupportedOperationException
[z, y]Примечания
Его бросают коллекции из List.of(), Set.of(), Map.of(), stream.toList(), Collections.unmodifiableList(), а Arrays.asList() — при изменении размера. Решение — изменяемая копия: new ArrayList<>(list).
См. также
- List.of() — Создаёт неизменяемый список из перечисленных элементов.
- Collections.unmodifiableList() — Возвращает представление списка, которое нельзя изменить.
- Stream.toList() — Собирает элементы потока в неизменяемый список.
В учебнике
- Что такое исключения — Исключения в Java — как программа сообщает об ошибке, как читать трассировку стека, частые исключения и иерархия Throwable.