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

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