Lambda 表达式
1.初识Lambda
1.1 概念
Lambda表达式是JDK8后出现的一种新语法,函数式编程(Functional Programming)思想的一种体现,其抛弃了面向对象的编程特点,不关心哪个对象去做,而关心谁去做,怎么做(只需要书写方法体),语法简单,标志就是“->”。
1.2意义
- 简化匿名内部类的书写
- 增强java语言的表达能力
1.3 省略写法
- 方法体中只存在return语句时,可以同时省略:分号、大括号、return关键字
- 参数类型可以省略不写
- 如果只有一个参数,类型和“()”可以省略不写
- 基本原则:“()“中写参数,然后跟”->”,然后跟"{}“,在”{}"中写方法体
原则:
可推导即可省略。
1.4 示例
public class LambdaDemo {
public static void main(String[] args) {
// 面向对象编程:要调用method方法,必须创建出一个对象来传参
/*method(new Test() {
@Override
public void func() {
System.out.println("函数式接口");
}
});*/
// 函数式编程:只关心谁执行
method(() -> {
System.out.println("函数式接口");
});
}
public static void method(Test t) {
t.func();
}
}
@FunctionalInterface
interface Test {
public abstract void func();
}