Алексей Гавронский
Алексей Гавронский

Как правильно клонировать объекты в Java?

Я так понял, что существует три способа сделать это:
1) Заоверрадить в классе метод clone() и сделать внутри собственную реализацию, вручную упаковав все поля класса и суперкласса. Всё сделать вручную надёжней, чем потом ловить баги.
2) Реализовать фейковый интерфейс Cloneable, но всё равно все поля за исключением примитивов придётся вручную добавлять
3) С помощью сериализации - сложно, но меньше риск промахнуться

Я так понял, что клонирование объектов это постоянный источник багов? Пользоваться нужно им очень аккуратно? Так какой метод клонирования лучше всего использовать? Первый?

ДЛ
Дмитрий Ласс

Правильно - использовать конструктор копирования, а от clone() и Cloneable держаться подальше.

https://www.artima.com/intv/bloch.html#part13

Похожие вопросы
Java. Написать программу
Проверьте, пожалуйста, правильно ли я сделал задание в Java
А что из себя представляет Null в java?
Вопрос к тем, кто разбирается в Java
Java, Создание программы
Java. В чем отличие Класс. вызов_метода () и объект. вызов_метода ()?
JAVA, что делает этот метод?
Как сделать Массив Java
Вопрос насчёт Java
Что в Java значит @Notnull ?