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

Для чего нужно делать класс иммутабельным

Иммутабельные классы обеспечивают безопасность данных, потокобезопасность и предсказуемость состояния. Основные преимущества:

  1. Безопасность в многопоточной среде – отсутствие гонки данных, так как состояние объекта нельзя изменить после создания.
  2. Простота использования – иммутабельные объекты можно свободно передавать между методами/потоками без защитных копий.
  3. Надежность кэширования – хэш-код объекта не меняется, что делает его идеальным кандидатом для ключей в HashMap.

Пример иммутабельного класса:

java
public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() { return name; }
    public int getAge() { return age; }
}

Ключевые характеристики:

  • Класс объявлен как final
  • Поля private final
  • Нет сеттеров
  • Если класс содержит изменяемые объекты, нужно возвращать их защитные копии
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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