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 }