Встречается на собеседованиях • сегодня
Как достичь иммутабельность класса
Иммутабельность класса достигается следующими шагами:
- Объяви класс как
final, чтобы предотвратить наследование. - Сделай все поля
privateиfinal. - Не предоставляй сеттеров для изменения полей.
- Инициализируй поля только через конструктор.
- Для mutable полей (например,
Date, коллекции) возвращай копии в геттерах и сохраняй копии в конструкторе.
Пример:
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()); // возвращаем копию
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы