私がこの階層を持っているとしましょう:
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();
しかし、私は手動の型キャストをしなければなりません。clone()メソッドがサブクラスの実際の型を返すようにするためにJava Genericsを使用する方法はありますか?
ありがとうございました!