Lambda表达式
-
Lambda表达式可以用来简化匿名内部类的书写
-
Lambda表达式只能简化函数时接口的匿名内部类的写法
-
函数式接口:
有且仅有一个抽象方法的接口就叫函数式接口,接口上方可以加@FunctionalInterface注解
// 语法形式
() -> {
}
() 对应着方法的形参
-> 固定格式
{} 对应着方法的方法体
Lambda的省略规则
-
参数类型可以省略不写
-
如果只用一个参数,参数类型可以省略,同时 () 也可以省略
-
如果Lambda表达式的方法体只有一行,大括号,分号,return可以省略不写,需要同时省略
Arrays.sort(arr, (Interger o1, Interger o2) -> {
return o1 -o2;
});
//变成
Arrays.sort(arr, (o1, o2) -> o1 -o2);