Встречается на собеседованиях • сегодня
Какие плюсы и минусы иммутабельных объектов
Плюсы:
- Потокобезопасность: не требуют синхронизации, так как состояние не меняется
- Простота тестирования: отсутствуют побочные эффекты
- Надёжность: гарантированно корректное состояние после создания
- Подходят для ключей в HashMap (hashCode не меняется)
- Легко кешировать и повторно использовать
Минусы:
- Избыточное создание объектов при изменениях (может влиять на производительность)
- Не всегда удобны для сложных изменений состояния
- Требуют больше кода для создания (билдеры, фабрики)
Пример:
java
public final class ImmutablePoint {
private final int x;
private final int y;
public ImmutablePoint(int x, int y) {
this.x = x;
this.y = y;
}
// Методы только для чтения
public int getX() { return x; }
public int getY() { return y; }
// "Изменение" через создание нового объекта
public ImmutablePoint withX(int newX) {
return new ImmutablePoint(newX, this.y);
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы