适用于参数类型的递归子包错误:java.util.ArrayList) groovy



我有一个列表:

def myList = [[item1:1, values:'a'], [item2:2, values:'a'], 
     [item2:3,values:'b']]

我的递归子句:

def getList  = {  sep, list ->
           list.each{ item ->
                //def at = it
                def da = myList.findAll { 
                    it?.value == item.value
                }
                //println da
                if(da?.size()>1 ){
                    getList(',',da)
                }
                else
                {
                    //println item.category+sep
                }

           }
          }

And call

getList(',', myList)

错误回报:

sigec.media.MediaExpenseService.getList()方法的签名不适用于参数类型:(java.lang. lang.)字符串,java.util.ArrayList)

但是find返回其他列表(第一次迭代):

[[item1:1, values:'a'], [item2:2, values:'a']]

我错在哪里?

您需要在定义getList变量之前声明它以使其工作,更改

def getList = {  sep, list ->

def getList
getList = { sep, list ->

相关内容

最新更新