我的问题,内部接口如下: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