Встречается на собеседованиях • сегодня
Как сделать пользователя с полями и списком объектов иммутабельным
Для создания иммутабельного пользователя с полями и списком объектов в Java:
1. Сделайте класс `final` чтобы предотвратить наследование
2. Все поля должны быть `final` и инициализироваться в конструкторе
3. Не предоставляйте сеттеров
4. Для коллекций используйте защитные копии и неизменяемые обертки
Пример:
```java
public final class User {
private final String name;
private final int age;
private final List permissions;
public User(String name, int age, List permissions) {
this.name = name;
this.age = age;
this.permissions = Collections.unmodifiableList(new ArrayList<>(permissions));
}
// Геттеры
public List getPermissions() {
return permissions; // Возвращаем неизменяемый список
}
}
```
Ключевые моменты:
- Конструктор делает защитную копию списка
- `Collections.unmodifiableList()` делает список доступным только для чтения
- Геттер возвращает неизменяемую версию списка

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