Назад к вопросам
Principal
23
Какие ты знаешь immutable объекты в Java?
Компании, где спрашивали
Black Wall Group
Ответ от нейросети
sobes.tech AI
В Java immutable объекты — это объекты, состояние которых нельзя изменить после создания. Классический пример — класс String. Другие известные immutable объекты:
- Обёртки примитивных типов:
Integer,Long,Double,Booleanи т.д. - Классы из пакета
java.time(например,LocalDate,LocalDateTime,Instant), которые представляют неизменяемые даты и время.
Чтобы сделать собственный класс immutable, нужно:
- Сделать класс
finalили не предоставлять методы для изменения состояния. - Все поля —
private final. - Не предоставлять сеттеры.
- Если поля — ссылки на изменяемые объекты, создавать их копии при передаче и возврате.
Пример простого immutable класса:
public final class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() { return x; }
public int getY() { return y; }
}