【发布时间】:2010-10-14 08:48:31
【问题描述】:
我正在维护一个较旧的 Java 代码库 (jvm 1.4),它似乎使用克隆作为对象实例化的替代方法,我猜它是一种性能优化。这是一个人为的例子:
public class Foo {
private SomeObject obj; // SomeObject implements Cloneable
public Foo() {
obj = new SomeObject();
obj.setField1("abc"); // these fields will have the same value every time
obj.setField2("def");
}
public void doStuff() {
SomeObject newObj = obj.clone(); // clone it instead of using a factory method
// do stuff with newObj
}
}
尽管有关于过早优化的常见警告,但在某些时候这实际上是推荐的习惯用法吗?
【问题讨论】:
-
看起来很奇怪。我会使用构造函数来实例化新对象。
标签: java optimization clone cloneable