Lambdas
From APIDesign
(Difference between revisions)
Line 1: | Line 1: | ||
- | [[Lambdas]] are [[Java]] implementation of [[Closures]] and are coming | + | [[Lambdas]] are [[Java]] implementation of [[Closures]] and are coming in [[JDK]]8. |
== Don't Know the Syntax? == | == Don't Know the Syntax? == |
Revision as of 17:30, 24 September 2013
Lambdas are Java implementation of Closures and are coming in JDK8.
Don't Know the Syntax?
Yesterday I had a duty at NetBeans JavaOne2013 booth. Somebody asked whether NetBeans support lambda. Sure, NetBeans 7.4 do! was my answer. But how to demonstrate that? I tried:
class LamdaTest { static void doRun(Runnable r) { r.run(); } public static void main(String... args) { doRun({ System.out.println("Hello World!"); }); } }
it did not compile. Then I tried to change the lambda line to:
doRun( => { System.out.println("Hello World!"); });
No luck either. I gave up and rewrote the code to old good verbose but familiar inner class syntax:
public static void main(String... args) { doRun(new Runnable() { @Override public void run() { System.out.println("Hello World!"); } }); }
and suddenly a hint appeared:
after applying the hint I finally got correct lambdas syntax:
public class LambdaTest { static void doRun(Runnable r) { r.run(); } public static void main(String... args) { doRun(() -> System.out.println("Hello World!")); } }
NetBeans own source code sticks (and will stick) with JDK7. As such I don't have much chances to use lambdas, but I can say I can write lambdas, now!
Just one thing I don't understand? Why people claim NetBeans IDE does not understand lambdas?