lambda表达式
Lambda 表达式是 Lambda表达式 的核心语法之一,本质是:用更简洁的方式表示一个“函数”。它主要用在 函数式接口 上。
基本语法
- 传统写法:匿名内部类
java
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("执行任务");
}
};- Lambda 写法:
java
Runnable r = () -> {
System.out.println("执行任务");
};使用条件
Lambda 只能用在 函数式接口 上,也就是 只定义了一个抽象方法的接口。
java
@FunctionalInterface
interface MyFunc {
int add(int a, int b);
}java
MyFunc f = (a, b) -> a + b;常见简化规则
与JS的箭头函数简化规则相同
- 参数类型可以省略(类型推断)
java
(int a, int b) -> a + bjava
(a, b) -> a + b- 只有一个参数,可以省略括号
java
x -> x * 2- 只有一行代码,可以省略
{}和return
java
(a, b) -> {
return a + b;
}java
(a, b) -> a + b