有沒有辦法使用泛型說「此方法返回this
」?有沒有辦法在Java中說「方法返回這個」?
當然,我想在子類中重寫此方法,所以聲明應該與@Override
一起使用。
下面是一個例子:
class Base {
public Base copyTo (Base dest) {
... copy all fields to dest ...
return this;
}
}
class X extends Base {
@Override
public X copyTo (X dest) {
super.copyTo (dest);
... copy all fields to dest ...
return this;
}
}
public <T extends Base> T copyTo (Base dest)
不會在所有的工作:我碰到一個「類型不匹配:不能從基地至T轉換」。如果我強制強制轉換,覆蓋失敗。
除了我的(當然,馬丁·奧德斯基的)的方式;詳細上面 – 2009-07-07 08:32:26
是的,雖然有沒有實現這種事情的方式沒有「這個」*實際*是這個。 – 2009-07-07 08:34:21
那麼,「這個」可以是任何實現列表接口的東西,因爲擦除可能是任何事情的列表。我會感興趣,如果你可以完全愚弄它 – 2009-07-07 08:40:55