Встречается на собеседованиях • сегодня
Какие плюсы и минусы неизменяемого класса
Плюсы:
- Потокобезопасность: отсутствие изменяемого состояния исключает гонки данных.
- Простота: легче тестировать, отлаживать и рассуждать о коде.
- Безопасность: можно свободно передавать объекты без риска их модификации.
- Кеширование: можно кешировать хеш-код и другие вычисляемые значения.
Минусы:
- Нагрузка на память: каждое изменение создает новый объект.
- Производительность: частые копии могут быть дорогими для сложных объектов.
- Удобство: для сложных изменений требуется больше кода (например, билдеры).
Пример:
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
интервью вопросы и ответы