使用复制构造函数进行复制总是更好。
clone()Java中的损坏(请参见SO:如何正确覆盖克隆方法?)。
Josh Bloch谈设计-复制构造函数与克隆
如果您已经阅读了我书中有关克隆的文章,尤其是您在两行之间阅读的话,您会知道我认为它
clone已被深深地打断。[…]这是一种耻辱Cloneable,但确实发生了。
Bloch(顺便说一句,他设计并实现了Collection框架)甚至说他只提供
clone()“因为人们期望它”的方法。他实际上根本不建议使用它。
我认为更有趣的辩论是复制构造函数是否比复制工厂更好,但这是完全不同的讨论。



