Java 8将采用与C#语言一样的Lambda句法

openkk 13年前
     <p>鉴于Java 7 正式版已经发布,甲骨文和Java社区进程组织(<span style="color:#004276;">JCP</span>)的成员们已开始仔细考虑为这种编程语言的下一个版本Java SE 8添加什么功能特性。前段时间曝光将为Java 8提上议程的工作是:设计面向云计算的Java。近日又有提出了对Java 8语法上的改变:Java 8 将采用跟C#一样的Lambda句法。</p>    <p>相关负责人称:我们决定Java 8 将采用跟C#一样的Lambda句法,当然我们会做一些细微的改变。</p>    <p>C#的语法是:</p>    <pre class="brush:c#; toolbar: true; auto-links: false;">    lambda = ArgList Arrow Body           ArgList = Identifier                     | "(" Identifier [ "," Identifier ]* ")"                    | "(" Type Identifier [ "," Type Identifier ]* ")"          Body = Expression                     | "{" [ Statement ";" ]+ "}" </pre>这里是使用lambda表达式这种语法的一些例子:    <pre class="brush:java; toolbar: true; auto-links: false;">    x => x + 1           (x) => x + 1           (int x) => x + 1           (int x, int y) => x + y           (x, y) => x + y           (x, y) => { System.out.printf("%d + %d = %d%n", x, y, x+y); }           () => { System.out.println("I am a Runnable"); } </pre>转自:http://developer.51cto.com/art/201109/290372.htm    <br /> 参考原文:    <span style="color:#0000ff;">http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html</span>    <p></p>