Lambdas
From APIDesign
(Difference between revisions)
Line 37: | Line 37: | ||
and suddenly a hint appeared: | and suddenly a hint appeared: | ||
+ | |||
+ | [[Image:Lambdas.png]] | ||
+ | |||
+ | after applying the hint I finally got correct [[lambdas]] syntax: | ||
+ | |||
+ | <source lang="java"> | ||
+ | public class LambdaTest { | ||
+ | static void doRun(Runnable r) { | ||
+ | r.run(); | ||
+ | } | ||
+ | |||
+ | public static void main(String... args) { | ||
+ | doRun(() -> System.out.println("Hello World!")); | ||
+ | } | ||
+ | } | ||
+ | </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! | ||
+ | |||
+ | Just one thing I don't understand? Why people claim [[NetBeans]] IDE does not understand [[lambdas]]? |
Revision as of 17:29, 24 September 2013
Lambdas are Java implementation of Closures and are coming with 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?