我有一个列表:
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 ->