2016-08-29 114 views
1
private ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>> detectedAgentPositions; 

上面的代碼不會給我任何錯誤,即一切都整齊地寫入和導入etcetera。但是,當我嘗試初始化detectedAgentPositions像這樣:無法初始化ArrayListMultimap;由於嵌套?

private ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>> detectedAgentPositions 
     = new ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>>(); 

我得到以下錯誤:

no suitable constructor found for ArrayListMultimap(no arguments) constructor ArrayListMultimap.ArrayListMultimap(int,int) is not applicable (actual and formal argument lists differ in length) constructor ArrayListMultimap.ArrayListMultimap(Multimap< ? extends Integer,? extends ArrayList>>) is not applicable (actual and formal argument lists differ in length)

有什麼問題嗎?

+0

從哪裏'ArrayListMultiMap'和'Point2d'? – joc

+1

改爲使用'ArrayListMultimap.create' – Dimitri

回答

4

如果您ArrayListMultimap類是谷歌共同,它不只是因爲構造函數是私人這樣,你不能叫new ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>>()直接簡單地調用ArrayListMultimap.create()而不是爲接下來的工作:

private ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>> detectedAgentPositions 
    = ArrayListMultimap.create();