Lambda表达式

Lambda表达式

 1.  JDK8开始支持函数式编程,即将一个函数作为一个参数进行传递。这就是下要介绍的Lambda表达式。

  Lambda表达式由三部分组成:参数、箭头、声明语句。

  当一个接口只有一个抽象方法时可以使用使用Lambda表达式。这种接口成为“函数式接口”。函数式接口上都有@FunctionalInterface 注解。

  Runble接口就是一个函数式接口

@FunctionInterface
public interface Runnable{
        public void run();
}

   下方代码即可用Lambda表达式

new Thread(new Runable(){
    @Override
   public void run(){
       System.out.println("Hello world!");   
    } 
})

  Lambda表示式方式

new Thread(() -> System.out.println("Hello World!"));  

 2 .  自定义函数式接口

 1 @FunctionalInterface
 2 public interface FunctionalInterfaceTest{
 3    public void test();  
 4 }
 5 
 6 public Class Test{
 7   public static void test(FunctionalInterfaceTest functionalInterfaceTest){
 8         functionalInterfaceTest.test();
 9  }
10   public static void main(String[] args){
11     //匿名内部类
12     test(new FunctionalInterfaceTest(){
13       @Override
14       public void test(){
15         System.out.println("匿名内部类调用");
16       }
17     });
18     
19     //Lambda简化调用
20     test(()->System.out.println("Lambda简化调用"));
21  }
22 }
原文地址:https://www.cnblogs.com/wawadao/p/14317866.html