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

Приведенный выше код не дает мне никаких ошибок, т. Е. Все аккуратно написано и импортировано и так далее. Но когда я пытаюсь инициализировать 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 от Google Common, он не работает просто потому, что конструктор частный, что вы не можете позвонить new ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>>() непосредственно просто позвонить ArrayListMultimap.create() вместо в следующем:

private ArrayListMultimap<Integer, ArrayList<ArrayList<Point2d>>> detectedAgentPositions 
    = ArrayListMultimap.create(); 
Смежные вопросы