Groovy闭包 - 这段代码中发生了什么?

时间:2012-05-22 16:50:34

标签: groovy closures

作为初学者的常规开发者,我试图理解我继承的以下几行Groovy代码:

maxCount = skillsDist.findAll {it.mValue.value >= 0 }.max { it.mValue.value }.mValue.value
minCount = skillsDist.findAll { it.mValue.value >= 0  }.min { it.mValue.value }.mValue.value

skillsDist对象是对Set<CalculationResult>类型的Java对象的引用。每个CalculationResult都有一个int字段mValue

我正在努力的部分是最大和最小之后的关闭。显然,我猜它会从集合中找到最小值和最大值但是我需要修改它并且不理解这个很不舒服。

谢谢!

1 个答案:

答案 0 :(得分:0)

findAll上的set迭代器。它创建一个新的set并添加一个值大于或等于0的所有元素。最大操作通过子集迭代并搜索最大值。

在第二行中相同(期望它查找最小值)。