Встречается на собеседованиях • сегодня
Как реализовать иммутабельность класса с полем с типом List
Для обеспечения иммутабельности класса с полем `List` нужно:
1. Сделать поле `final`
2. Запретить модификацию списка после создания
3. Защититься от изменений через возвращаемые значения
Пример:
```java
public final class ImmutableClass {
private final List items;
public ImmutableClass(List items) {
this.items = Collections.unmodifiableList(new ArrayList<>(items));
}
public List getItems() {
return Collections.unmodifiableList(items);
}
}
```
Ключевые моменты:
- Конструктор создает защитную копию переданного списка
- Возвращается только неизменяемая версия списка
- Поле `final` гарантирует, что ссылка не изменится
- `Collections.unmodifiableList()` бросает исключение при попытке модификации

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы