我有以下類別:在return語句在仿製藥使用鑄造
public class Base {
public int someMethod(){...}
}
public class Derrived extends Base {
@Override
public int someMethod(){...}
}
還我一個方法返回List<Base>
List<Base> method() {
return fetch();
}
方法fetch()
返回List<? extends Base>
但實際上它擁有實例的列表Derrived class
List<? extends Base> fetch() {}
但是定義方法method()
的代碼將不會編譯。它需要鑄造到List<Base>
。爲什麼我需要施放它,如果我始終可以將該集合的實例視爲基類的實例?
在我的情況下(這種方法的返回類型必須是「列表 」類型的)返回類型'List '是否是一個很好的解決方案? –
maks
@ maks:不,它不是。如果可以的話,改變你的方法的返回類型會更好。 –