2015-05-21 2 views
0

Ошибки я получаюКак передать многомерные массивы методу? Groovy

groovy.lang.MissingMethodException: No signature of method: static utilities.dslUtilities.teamSwitch() is applicable for argument types: (java.util.ArrayList, java.util.ArrayList) values: [[[ConfigurationService, 1, Projects], ...], ...] 
Possible solutions: teamSwitch(java.util.ArrayList, java.util.ArrayList) 

Я передаю два ArrayLists к методу и заводной говорят мне, что я не могу это сделать, но я должен попытаться мимо два ArrayLists вместо этого? Они многомерные ArrayLists, что я передаю и первая строка метода выглядит следующим образом:

public teamSwitch(def team1, def team2) 

Я также пробовал другие комбинации вплоть до

public teamSwitch(ArrayList<ArrayList<ArrayList<String>>> team1, ArrayList<ArrayList<ArrayList<String>>> team2) { 

Может кто-нибудь сказать мне, что я делаете неправильно здесь? Я уверен, что это очень просто

Edit: Вызов метода является

def teamjob = dslUtilities.teamSwitch(team1, team2) 

и метод:

public class dslUtilities { 
public teamSwitch(ArrayList<ArrayList<ArrayList<String>>> team1, ArrayList<ArrayList<ArrayList<String>>> team2) { 
    def team 
    new File('C:/chef', 'team.json').eachLine { line -> 
    team = line =~ /"\w*"/ 
    team = team[1].toLowerCase().replaceAll('"', '') 
    return team 
    } 
    def teamjob 
    switch (teamjob) { 
     case {team = 'alpha'}: 
      teamjob = team1 
      break 
     case {team = 'beta'}: 
      teamjob = team2 
      break 
    } 
    teamjob 
} 

}

Извинения для моего бедного кодирования

Cheers

+0

Есть ли списки, которые вы проходите, всегда 2 глубокие (то есть списки списков)? Или они могут быть сколь угодно глубокими? – Keegan

+0

Добавьте, пожалуйста, код, в котором появляется исключение. – Vartlok

+0

Keegan - да, всегда список списков – Glef

ответ

0

Похоже, вы забыли ключевое слово статические для метода.

+0

Спасибо Вартлок – Glef

Смежные вопросы