代码之家  ›  专栏  ›  技术社区  ›  trunkc

Java中闭包的当前状态是什么?

  •  19
  • trunkc  · 技术社区  · 18 年前

    有人知道闭包是否会出现在Java7中吗?

    6 回复  |  直到 18 年前
        1
  •  19
  •   Alex Miller    17 年前

    直到JavaSE7JSR被创建(大概是由Danny Coward创建的)并成立了一个专家组并选择了内容,这一点才为人所知。

    我的Java 7页面是一个很好的关于Java 7的链接集合,并且有指向所有闭包建议和博客条目的链接:

    http://tech.puredanger.com/java7#closures

    我还维护了一个Java 7链接博客,您可以在这里找到关于闭包和其他内容的链接,网址为:

    http://java7.tumblr.com

    http://tech.puredanger.com/2008/08/02/java7-prediction-update/

    更新:马克·莱因霍尔德在2008年12月的Devxx大会上表示,闭包将不会包含在Java7中,因为在如何实现上缺乏共识。

        2
  •  13
  •   Bill the Lizard    14 年前

    在2008年12月20日, Mark Reinhold made it clear 那就结束了 将包含在Java7中。


    等待闭包 将 将包含在Java7中。马克·莱因霍尔德 announced this reversal 2009年12月20日。


    保证!闭包( )已推迟到Java8。跟随 Project Lambda (JSR 335) 了解更多信息。

        3
  •  7
  •   sanity    18 年前

    目前有几个相互竞争的提案, BGGA CICE ,等等。不幸的是,关于最佳方法的激烈辩论仍然存在。因此,在这一点上,闭包不太可能进入Java7,因为接受过程是保守的。

    这里的关键问题是,在不无意中引入大量复杂性的情况下,向预先存在的语言添加特性可能非常困难。这是Java1.5中泛型的经验,许多人担心它会随着闭包的引入而变得复杂。

    我的建议是,如果您真的想访问闭包之类的现代语言功能,但又想留在Java ecosysteym中,那么您应该看看 Scala

        4
  •  3
  •   billjamesdev    18 年前

    Groovy是我见过的最好的Java替代品,它包含了动态语言的特性,包括闭包、运行时类扩展等。虽然Ruby在设计上有一点优势,但我不得不说,Groovy编译成Java字节码并在没有任何接口代码的情况下与Java交互是一个不可忽视的巨大优势。

    http://groovy.codehaus.org

        5
  •  2
  •   Joshua Fox    17 年前

    显然闭包不会出现在Java7中。 this this .