owo
注:Lambda表达式是JDK8之后的语法
格式
(形参) -> {
方法体}
例
Arrays.sort(arr, (Integer o1, Integer o2) -> {
return o1 - o2;
});
- Lambda表达式可以用来简化匿名内部类的书写
- 只能简化函数式接口的匿名内部类的写法
- 有且只有一个抽象方法的接口是函数式接口
- 可以在接口上方加
@FunctionalInterface
注解检查
函数式接口示例
@FunctionalInterface
interface Swim{
public abstract void swimming();
}
Lambda的省略规则
- 参数类型可以省略
- 如果只有一个参数,类型和()都可以省略
- 如果Lambda表达式的方法体只有一行,大括号,分好,return都可以省略。如果省略,需要同时省略
例
Arrays.sort(arr, (o1, o2) -> o1 - o2);