Josh Bloch 在Effective Java 中也不建议使用clone() 方法。
这种方法有几个问题:
如果可克隆对象不仅具有原始类型字段,而且还具有对象字段,则克隆对象将仅收到对这些对象的引用,而不是真正的克隆对象。为了避免这种情况,所有内部对象也应该是可克隆的。
如果您创建可克隆类的子类,那么它也是可克隆的(即使您不想)。这就是为什么您应该以正确的方式重写clone()方法以避免可能的问题。
何时应该使用它:尽可能不使用。您应该非常小心地使用它。如果您想要克隆的对象中的所有字段都是原始类型,那么这并不危险。在所有其他情况下,使用前请三思。
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |