我的問題,內部接口如下:ArrayList的泛型:鑽石
我有一個運行自定義對象的ArrayList需要長時間運行的任務的執行。 我希望能夠提供不同類類型的執行器Arraylist,每個類都實現一個接口,以便執行器知道如何處理任何兼容的類實例。
class MyExectorService{
....
interface MyInterface{
String getData();
}
}
class A implements MyExecutor.MyInterface {} ....
class B implements MyExecutor.MyInterface {} ....
我的執行者單有一個方法簽名:
public void submitList(ArrayList<MyInterface> list, ....)
當我有A級或B等的ArrayList我從編譯器錯誤的參數類型的異常。我可以創建一些函數,只是返回一個原始類型的ArrayList,在提交它之前將其轉換爲
例如,
public static ArrayList getRaw(ArrayList list){
return list;
}
...MyExecutorService.getInstance().submitList(getRaw(aa /* arraylist of class A /*),...)
但是請問這樣做的正確方法是什麼?
'私人無效submitList(名單<?延伸MyInterface的>列表,...)' – khelwood
爲 – maturecheese