Lambdas
From APIDesign
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! |
Just one thing I don't understand? Why people claim [[NetBeans]] IDE does not understand [[lambdas]]? | Just one thing I don't understand? Why people claim [[NetBeans]] IDE does not understand [[lambdas]]? |
Revision as of 17:31, 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 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!
Just one thing I don't understand? Why people claim NetBeans IDE does not understand lambdas?