Back to questions
Т-Банк
Senior
5
Что такое неизменяемый (immutable) класс? Какие у него недостатки?
Companies where asked
Answer from AI
sobes.tech AI
Неизменяемый (immutable) класс — это класс, экземпляры которого после создания нельзя изменить. Все поля обычно объявляются как final и инициализируются в конструкторе.
Преимущества:
- Потокобезопасность без дополнительной синхронизации.
- Простота понимания и отладки.
- Использование в качестве ключей в коллекциях.
Недостатки:
- При изменении объекта нужно создавать новый экземпляр, что может привести к повышенному расходу памяти и снижению производительности.
- Не всегда удобно для объектов с большим количеством полей или сложной иерархией.
Пример immutable класса на Java:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() { return name; }
public int getAge() { return age; }
}