有人知道Java 7是否会引入闭包吗?
在Java SE 7 JSR被创建之前(可能由Danny Coward创建),以及专家组的形成和内容的选择之前,它是未知的。
我的Java 7页面是关于Java 7的一个很好的链接集合,并且包含了所有闭包提案和博客条目的链接:
http://tech.puredanger.com/java7#closures
我还维护着一个Java 7链接博客,你可以在这里找到有关闭包和其他内容的链接:
如果你想了解我的意见,你可能会发现我关于Java 7预测的博客文章也很有趣:
http://tech.puredanger.com/2008/08/02/java7-prediction-update/
更新:Mark Reinhold在2008年12月的Devoxx上表示,由于缺乏如何实现的共识,闭包将不会包含在Java 7中。
在Devoxx 2008活动中,Mark Reinhold明确表示,闭包在Java 7中不会被包含。
等等!闭包将被包含在Java 7中。Mark Reinhold在Devoxx 2009宣布了这一逆转的决定。点击此处查看更多信息。
请稍等!闭包(lambda表达式)已被推迟至Java 8。请关注项目Lambda (JSR 335)获取更多信息。
Groovy是我见过的最好的Java替代品,它包含了动态语言的特性,如闭包、运行时类扩展等。虽然在我看来Ruby有一点设计优势,但我必须说,Groovy编译成Java字节码并与Java交互而无需任何接口代码是一个巨大的优势,不能忽视。
Java 7 中可能不会明确出现闭包,但如果您现在正在寻找在 Java 中具有闭包的轻量级解决方案,请查看 lambdaj 库中它们是如何实现的: