解决方法
你可能正在寻找
collect
:
def numbers = [1,2,3] assert numbers.collect { it * 2 } == [2,4,6]
还有一些专门为Collection和数组类型定义的变体(与collect本身相反,它对任何对象都有效,默认行为处理任意对象与仅包含该对象的单元素数组相同),例如collectMany
,它允许您返回每个元素的零,一个或多个结果的列表,结果全部连接在一起
assert numbers.collectMany { (it > 1) ? [it,-1*it] : [] } == [2,-2,3,-3]