2016-08-29 68 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();