我正在阅读关于闭包的文章,它将出现在Java7中。
我有点困惑,因为从一方面来说,有很多不错的文章描述了新的java闭包。但从另一方面来看,有3种不同的规格,其中一些文章根本就过时了,因为没有描述最新的提案。
因此,如果有人从一开始就跟踪java闭包的进展,那么请简要地描述一下所有3个提案及其当前状态。
我想知道的关于闭包的另一件事是,是否只有一条开发线存在,或者正在开发不同的版本(例如,来自Sun,来自Google,来自Apache等的闭包)?
发布于 2010-01-23 04:53:38
如果我没记错的话
CICE只是一种语法糖,可以更容易地以一种看起来像闭包的方式创建匿名类。
BGGA是一个非常强大的提议,它不仅允许真正的闭包,还允许使用语法来定义看起来像新语法元素的结构(也就是使用( allowed ){block})。
FCM是一个额外的提案,试图成为两者之间的折衷方案,具有完整的闭包提案,但具有更好的语法,并且没有BGGA的一些更有争议的功能。
目前的建议可以在http://www.javac.info/closures-v06a.html和http://www.javac.info/closures-v06b.html上找到,其中A部分是简单的完整余弦,B部分是取自BGGA的一些更强大的功能。
发布于 2010-01-25 01:16:16
据我所知,Project Lambda计划在Java语言中添加lambda(其中一些是闭包,还有一些是lambda),这将是旧提议的混合。目前关于该提案的最新信息是0.1 draft of the specification。要随时了解进度,您可以关注Mark Reinhold's的更新。
https://stackoverflow.com/questions/2117178
复制相似问题