private ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>> detectedAgentPositions;


上面的代码没有给我任何错误,即所有内容都编写整齐并导入等。但是当我尝试像这样初始化detectedAgentPositions时:

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


我收到以下错误:


  找不到适合ArrayListMultimap的构造函数(无参数)
      构造函数ArrayListMultimap.ArrayListMultimap(int,int)不适用
        (实际和正式论点列表的长度不同)
      构造函数ArrayListMultimap.ArrayListMultimap(Multimap >)不适用
        (实际和正式论点列表的长度不同)


这里有什么问题?

最佳答案

如果您的类ArrayListMultimap来自Google Common,那么它就不能简单地因为构造函数是私有的,因此您不能直接调用new ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>>()而不是直接调用ArrayListMultimap.create(),而不是下一步:

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

10-08 12:09