Java Core middle
Как сделать List неизменяемым?
Ответ
List.of(1,2,3) — Java 9+, immutable, null запрещён. List.copyOf(list) — Java 10+, глубокая неизменяемая копия. Collections.unmodifiableList(list) — обёртка (изменения в оригинале видны!). Предпочитай List.of или List.copyOf.
Разбор: List.of и List.copyOf дают по-настоящему неизменяемые коллекции, причём List.of запрещает null, а copyOf снимает копию и не зависит от оригинала. Ловушки: unmodifiableList — это вид-обёртка, изменения оригинала через неё видны; final запрещает переприсваивание ссылки, но не мутацию содержимого; и List.of никаких null не допускает.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.