Groovy - 闭包
闭包是一个简短的匿名代码块。 它通常只跨越几行代码。 方法甚至可以将代码块作为参数。 它们本质上是匿名的。
以下是一个简单闭包的示例及其外观。
class Example { static void main(String[] args) { def lst = [1,2,3,4]; lst.each {println it} println("The list will only display those numbers which are divisible by 2") lst.each{num -> if(num % 2 == 0) println num} } }
上面的例子展示了闭包中使用的条件 if(num % 2 == 0) 表达式,用于检查列表中的每个项目是否可以被 2 整除。
当我们运行上面的程序时,会得到下面的结果 −
1 2 3 4 The list will only display those numbers which are divisible by 2. 2 4
闭包使用的方法
闭包本身提供了一些方法。
序号 | 方法与描述 |
---|---|
1 | find()
find 方法在集合中找到第一个符合某个条件的值。 |
2 | findAll()
在接收对象中查找所有符合闭包条件的值。 |
3 | any() & every()
any 方法遍历集合的每个元素,检查布尔谓词是否对至少一个元素有效。 |
4 | collect()
collect 方法遍历一个集合,使用闭包作为转换器将每个元素转换为新值。 |