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

Какие плюсы и минусы неизменяемых классов

Плюсы:

  1. Потокобезопасность – не требуют синхронизации, так как состояние не меняется.
  2. Простота – отсутствие побочных эффектов, легче тестировать и отлаживать.
  3. Кеширование и повторное использование – можно безопасно кешировать хэш-код и объекты (например, через String.intern()).
  4. Надежность в коллекциях – безопасны как ключи в HashMap или HashSet.

Минусы:

  1. Нагрузка на память – каждое изменение создает новый объект.
  2. Сложность с постепенным построением – требует Builder или копирующих методов.

Пример:

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; }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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