Назад к вопросам
СБЕР
Junior — Middle
99
Какие классы реализуют неизменяемые объекты в программировании?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java неизменяемые (immutable) объекты — это объекты, состояние которых нельзя изменить после создания. Основные классы, реализующие неизменяемые объекты:
- String — класс для строк, после создания строка не меняется.
- Wrapper-классы для примитивов:
Integer,Long,Double,Booleanи др. - BigInteger и BigDecimal — для работы с большими числами и точной арифметикой.
- LocalDate, LocalDateTime и другие классы из пакета
java.time.
Чтобы создать свой неизменяемый класс, нужно:
- Сделать класс
finalили не предоставлять методы для изменения состояния. - Все поля сделать
private final. - Не предоставлять сеттеры.
- Если поля — ссылки на изменяемые объекты, возвращать их копии.
Пример:
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; }
}