2013-05-06 43 views
1

我怎麼下面的Java代碼的工作:我如何獲得Vector <type> Arraylist <type>作爲call()的返回值?

public class Worker implements Callable<myObject>{ 

    @Override 
    public ArrayList<myObject> call() throws Exception { 
     ArrayList<myObject> lst_MyObjects= new ArrayList<myObject>();  
     return lst_MyObjects; 
    } 
} 

錯誤:返回類型是Callable.call()不兼容

我只是想返回特定類型的容器(Vector<>/ArrayList<>等)

+0

java.util.concurrent.Callable返回類型? – 2013-05-06 09:44:22

+0

這裏有一個使用Callable的教程:https://blogs.oracle.com/CoreJavaTechTips/entry/get_netbeans_6 – 2013-05-06 09:45:53

回答

7

只要使用此:

public class Worker implements Callable<List<myObject>>{ 

通過使用List,您可以返回ArrayListVector,但建議您使用ArrayList而不是Vector

+0

哦..多麼愚蠢的錯誤.. 非常感謝您的快速響應 – JustCoding 2013-05-06 09:47:48

2

它必須是Callable<List<myObject>>,因爲ArrayList<myObject>是返回類型,而不是myObject。

+1

如果您使用' Callable >',那麼'Vector'不能被返回。更好地使用'Callable <列表>' – SudoRahul 2013-05-06 09:49:17

+0

好點,這個約束沒有得到這個約束。 – 2013-05-06 09:51:42

2

只要改變方法call()

ArrayList<myObject>Object

相關問題