Sobes.tech
Назад к вопросам
Junior — Middle
68

Какими способами можно создать точную копию объекта в программировании?

Ответ от нейросети

sobes.tech AI

В Java создать точную копию объекта можно несколькими способами:

  1. Реализация интерфейса Cloneable и переопределение метода clone() — создает поверхностную копию объекта.
public class Person implements Cloneable {
    private String name;
    
    public Person(String name) {
        this.name = name;
    }
    
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
  1. Конструктор копирования — создание нового объекта, копируя поля из существующего.
public class Person {
    private String name;
    
    public Person(Person other) {
        this.name = other.name;
    }
}
  1. Сериализация и десериализация — создать глубокую копию, записав объект в поток и считав обратно.

  2. Использование сторонних библиотек — например, Apache Commons Lang SerializationUtils.clone().

Важно понимать разницу между поверхностным (shallow) и глубоким (deep) копированием, особенно если объект содержит ссылки на другие объекты.