Встречается на собеседованиях • сегодня
Как сделать иммутабельный класс
Иммутабельный класс — это класс, состояние которого нельзя изменить после создания. Вот ключевые принципы:
- Сделайте все поля
finalиprivate - Не предоставляйте сеттеров
- Запретите наследование (
finalкласс) - Не допускайте утечки ссылок (возвращайте копии изменяемых объектов)
- Инициализируйте все поля в конструкторе
Пример:
java
public final class ImmutablePerson {
private final String name;
private final Date birthDate;
public ImmutablePerson(String name, Date birthDate) {
this.name = name;
this.birthDate = new Date(birthDate.getTime()); // защитная копия
}
public String getName() { return name; }
public Date getBirthDate() {
return new Date(birthDate.getTime()); // возвращаем копию
}
}Для сложных объектов используйте паттерн Builder. Коллекции следует делать неизменяемыми через Collections.unmodifiableList() и аналоги.

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