搜尋此網誌

2015年6月21日 星期日

Java Lambda 簡單介紹.

Lambda 是Java 8 支援的新功能 . 對於簡化functional interface的實作很方便. 所謂的functional

interface就是只有一個public method的interface. 下面是範例.


package lang;

public class LambdaDemo {

 public static void main(String[] args) {
  LambdaDemo ld = new LambdaDemo();
  
  /**
   * Using Lambda
   */
  ld.lambdaTest(t -> {
   System.out.println("a lambda run");
  });
  
  /**
   * Without using Lambda
   */
  ld.lambdaTest(new Test(){

   @Override
   public void run(Test t) {
    System.out.println("not a lambda run");
   }
   
  });
 }

 public void lambdaTest(Test t) {
  t.run(t);
 }

}

interface Test {
 public void run(Test t);
}

以前必須要把run()的method signature寫一遍,然後裡面是實作,有了Lambda之後, 諸如此類的實作就可以大幅簡化了.

沒有留言:

張貼留言