适用于参数类型的递归闭包错误:(java.lang.String, java.util.ArrayList) groovy
recursive clousure error applicable for argument types: (java.lang.String, 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
}
}
}
并调用
getList(',', myList)
错误returns:
No signature of method: sigec.media.MediaExpenseService.getList() is applicable for argument types: (java.lang.String, java.util.ArrayList)
但找到 returns 其他列表(第一次迭代):
[[item1:1, values:'a'], [item2:2, values:'a']]
我的错误是什么?
您需要先声明 getList
变量,然后再定义它才能正常工作,更改
def getList = { sep, list ->
到
def getList
getList = { sep, list ->
我有一个列表:
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
}
}
}
并调用
getList(',', myList)
错误returns:
No signature of method: sigec.media.MediaExpenseService.getList() is applicable for argument types: (java.lang.String, java.util.ArrayList)
但找到 returns 其他列表(第一次迭代):
[[item1:1, values:'a'], [item2:2, values:'a']]
我的错误是什么?
您需要先声明 getList
变量,然后再定义它才能正常工作,更改
def getList = { sep, list ->
到
def getList
getList = { sep, list ->