Groovy: 把方法变成闭包

[size=x-large]Groovy: 把方法变成闭包[/size]

在Groovy里闭包是个很有用的工具。例如我们可以把闭包作为方法的参数,在方法内部执行这个闭包。我们可以用Groovy的语法创建闭包,也可以通过.&运算符直接把Java或Groovy方法直接当作闭包来使用。

我们有一个简单的类:


public class JavaObject {
public static void javaSays(final String s) {
System.out.println("Java says: Hello " + s + "!");
}
}


在下面的脚本中我们使用这个Java类,并把javaSays方法转换成闭包:


// 一个简单的List
def names = ['groovy', 'grails', 'mrhaki']

// 直接使用闭包
names.each { println 'Normal closure says: Hello ' + it + '!' }

// 把Groovy方法转换为闭包
def groovySays(s) {
"Groovy says: Hello ${s}!"
}
// 使用.& 语法把方法转换为闭包.
names.each(this.&groovySays)

// 把Java方法转换为闭包
def javaSays = JavaObject.&javaSays
names.each javaSays
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值