Встречается на собеседованиях • сегодня

Как создать иммутабельный класс

Иммутабельный класс в Java — это класс, состояние которого нельзя изменить после создания. Вот ключевые принципы:

  1. Сделайте класс final, чтобы запретить наследование
  2. Все поля должны быть private и final
  3. Не предоставляйте сеттеров
  4. Инициализируйте все поля через конструктор
  5. Для 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());
    }
}

Для коллекций используйте Collections.unmodifiableList() и аналоги. В Java 16+ можно использовать record для упрощения создания иммутабельных классов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы