我有一个列表和一个闭包,像这样:
等
checkObjectExists方法返回包含4个元素的列表(请参见下面的方法)
因此,在闭合中,我希望对于发生冲突> 1的情况来做一些工作,相反,它永远不会返回一个以上的元素(这意味着如果始终为false,因此代码不会执行!),它看起来像闭包内的checkObjectExists方法正在一次迭代一个实例?我非常困惑
def fullReport = finalStatusesInstancesList.collect{
def conflicts = checkObjectExists(it, projectStatusInstances)
if (conflicts.size()>1)
def result = [
"$it.name",
"${checkDescr(it.description)}",
"${getStatusCategory(it.Key)}",
conflicts.join(colSeparator)
].join(lineSeparator)
//......
def Instances =[Instance1,Instance2,Instance3,Instance4]
def List checkObjectExists(def obj, def List<List<String>> lists) {
def result = []
for(int i=0; i< Instances.size(); i++) {
if(lists.get(i).contains(obj))
result.add(Instances.get(i))
}
return result
}
}