Lambdas
From APIDesign
(3 intermediate revisions not shown.) | |||
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? == | ||
Line 40: | Line 40: | ||
[[Image:Lambdas.png]] | [[Image:Lambdas.png]] | ||
- | after applying the hint I finally got | + | after applying the hint I finally got [[lambda]] syntax right: |
<source lang="java"> | <source lang="java"> | ||
Line 54: | Line 54: | ||
</source> | </source> | ||
- | [[NetBeans]] own source code sticks (and will stick) with [[JDK]]7. As such I don't have much chances to use [[lambdas]], but I can say I can write [[lambdas]], now! | + | [[NetBeans]] own source code sticks (and will stick) with [[JDK]]7 for a while. As such I don't have much chances to use [[lambdas]], but I can say I can write [[lambdas]], now (of course only with massive help from the [[NetBeans]] IDE)! |
- | Just one thing I don't understand | + | Just one thing I don't understand: Why people claim [[NetBeans]] IDE does not understand [[lambdas]]? |
Current revision
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 lambda syntax right:
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 for a while. As such I don't have much chances to use lambdas, but I can say I can write lambdas, now (of course only with massive help from the NetBeans IDE)!
Just one thing I don't understand: Why people claim NetBeans IDE does not understand lambdas?