Выбор ответа Junior Основы: типы, обёртки, static спрашивают часто обновлено

final ссылка на список

Вопрос

Что можно сделать с полем private final List<String> items = new ArrayList<>();?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Добавлять и удалять элементы, но нельзя присвоить полю другой список. final запрещает переприсвоить ссылку, но не трогает объект, на который она указывает.

Варианты ответа

  1. Ничего: final делает и ссылку, и сам список неизменяемыми
  2. Добавлять и удалять элементы, но нельзя присвоить полю другой списокправильный ответ
  3. Присвоить полю другой список, но не менять содержимое текущего
  4. Добавлять элементы, но не удалять их и не менять существующие

Разбор

final запрещает переприсвоить ссылку, но не трогает объект, на который она указывает. ArrayList остаётся изменяемым. Неизменяемый список дают List.of(...), List.copyOf(...) или Collections.unmodifiableList(...). Варианты «нельзя менять» и «можно только добавлять» путают final с неизменяемостью.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.