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

Что необходимо предусматривать при копировании объекта иммутабельного класса

При копировании иммутабельного объекта важно учитывать: 1. **Поверхностное vs глубокое копирование** – если класс содержит изменяемые поля (например, коллекции), нужно создать их копии. 2. **Клонирование через конструктор** – самый надежный способ, так как конструктор уже обрабатывает все поля. 3. **Использование `clone()`** – требует осторожности, так как стандартная реализация делает поверхностное копирование. Пример: ```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 ImmutablePerson copy() { return new ImmutablePerson(this.name, this.hobbies); // Новый объект с копией списка } } ``` Если объект полностью иммутабельный (все поля final и неизменяемые), можно просто возвращать `this`, так как копия не нужна.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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