假设我有这个层次结构:
public abstract class AbstractEntity implements Cloneable {
...
public AbstractEntity clone() {
Cloner cloner = new Cloner();
AbstractEntity cloned = cloner.deepClone(this);
return cloned;
}
}
public class EntityA extends AbstractEntity {
...
}
这很好用,我可以这样做:
EntityA e1 = new EntityA();
EntityA e2 = (EntityA) e1.clone();
但我必须进行手动类型转换。有没有办法使用 java 泛型来让clone()方法返回子类的实际类型?
谢谢!