Как сделать копию объекта в java?

Пользователь

от guillermo , в категории: Java , год назад

Как сделать копию объекта в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от enid , 5 месяцев назад

@guillermo 

В Java есть несколько способов создания копии объекта:

  1. Использование метода clone(): этот метод определен в классе Object и позволяет создать поверхностную копию объекта. Чтобы использовать этот метод, ваш класс должен реализовывать интерфейс Cloneable и переопределять метод clone(). Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
public class MyClass implements Cloneable {
    private int field1;
    private String field2;
    // Конструкторы, геттеры и сеттеры...

    @Override
    public MyClass clone() throws CloneNotSupportedException {
        return (MyClass) super.clone();
    }
}

MyClass original = new MyClass(1, "abc");
MyClass copy = original.clone();


  1. Сериализация: этот способ позволяет создать глубокую копию объекта, то есть копию, в которой скопированы не только поля оригинального объекта, но и все объекты, на которые указывают эти поля. Чтобы сериализовать объект, ваш класс должен реализовывать интерфейс Serializable. Например:
1
2
3
4
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import