Java Core junior

Как из List сделать неизменяемый?

Ответ

List.copyOf(list) (Java 10+) или Collections.unmodifiableList(list) — обёртка, которая бросит UnsupportedOperationException на add/remove.

Разбор: Неизменяемый список делают через List.copyOf(list) (Java 10+, отдельная независимая копия) или Collections.unmodifiableList(list) (обёртка, бросающая UnsupportedOperationException на изменение). Ловушка: final запрещает переприсваивание ссылки, но не меняет саму коллекцию; Collectors.toList() не гарантирует неизменяемость (для этого есть toUnmodifiableList()); synchronizedList решает потокобезопасность, а не иммутабельность.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться