Встречается на собеседованиях • сегодня
Что такое глубокое копирование
Глубокое копирование (deep copy) создает полностью независимую копию объекта, включая все вложенные объекты. В отличие от поверхностного копирования (shallow copy), где копируются только ссылки на вложенные объекты, deep copy рекурсивно копирует всю структуру.
Пример с clone():
java
class Person implements Cloneable {
String name;
Address address;
text
@Override
protected Object clone() throws CloneNotSupportedException {
Person cloned = (Person) super.clone();
cloned.address = (Address) address.clone(); // глубокое копирование вложенного объекта
return cloned;
}}
class Address implements Cloneable {
String city;
text
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}}
text
Альтернативные способы:
- Сериализация/десериализация
- Использование библиотек (Apache Commons, Gson)
- Ручное копирование через конструкторы
Важно: стандартный `Object.clone()` делает shallow copy, для deep copy нужно переопределять метод.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы