Какие методы копирования объектов в Java тебе известно?
Ответ от нейросети
sobes.tech AI
В Java существуют два основных способа копирования объектов:
-
Поверхностное копирование (shallow copy) — копируются только примитивные поля и ссылки на объекты, на которые ссылается исходный объект. При этом вложенные объекты не клонируются, а копируются ссылки на них. Обычно реализуется через метод
clone()из интерфейсаCloneable. -
Глубокое копирование (deep copy) — создаётся полный независимый клон объекта, включая все вложенные объекты. Для этого часто пишут собственные методы копирования или используют сериализацию/десериализацию.
Пример поверхностного копирования с использованием clone():
class Person implements Cloneable {
String name;
int age;
public Person clone() throws CloneNotSupportedException {
return (Person) super.clone();
}
}
Для глубокого копирования можно, например, реализовать метод, который вручную копирует все поля, создавая новые объекты для вложенных ссылок.