Нет ничего плохого в общей идее клонируемого интерфейса.Это проще, чем конструктор копирования для пользователей API.
Проблемы с Java Cloneable
и Object.clone
также не так уж и плохи;они могут быть преодолены с небольшим усилием.И у вас всегда может быть свой собственный клонируемый интерфейс.
Java 8 может исправить Cloneable
, добавив метод clone()
с реализацией по умолчанию
interface Cloneable
public Object clone() default { return Cloneables.defaultClone(this); }
, не уверенный, что они планируютсделай так.