Встречается на собеседованиях • сегодня

Чем обеспечивается иммутабельность

Иммутабельность в Java обеспечивается следующими способами: 1. **Final класс и поля** – класс объявляется `final`, чтобы предотвратить наследование, а поля `final`, чтобы запретить их изменение после инициализации. 2. **Отсутствие сеттеров** – не предоставляются методы для изменения состояния объекта. 3. **Защитное копирование** – если объект содержит mutable-поля, при их возврате или передаче создаются копии. Пример: ```java public final class ImmutablePerson { private final String name; private final List hobbies; public ImmutablePerson(String name, List hobbies) { this.name = name; this.hobbies = new ArrayList<>(hobbies); // защитное копирование } public List getHobbies() { return new ArrayList<>(hobbies); // возвращаем копию } } ``` Также иммутабельность поддерживается неизменяемыми коллекциями из `Collections.unmodifiableList()` и классами вроде `String`, `LocalDate`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы