Lambda表达式
-
什么是Lambda表达式
Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码
像数据一样进行传递. -
Lambda使用条件
Lambda 表达式需要“函数式接口”的支持 -
Lambda表达式语法
Lambda 表达式在Java 语言中引入了一个新的语法元素和操作符。这个操作符为**->** , 该操作符被称为 Lambda 操作符或剪头操作符。它将 Lambda 分为
两个部分:
左侧: 指定了 Lambda 表达式需要的所有参数
右侧: 指定了 Lambda 体,即 Lambda 表达式要执行
的功能。
- 语法格式一:
# 无参数,无返回值
# ()对应的是参数列表 -> 对应的执行的操作
() -> System.out.println("Hello Lambda!");
- 语法格式二:
# 有一个参数,并且无返回值
# (X) x代表入参,X可以以任意字母代替,x的类型是推断出来的,可以不写,也可以自己写上.例如(String x)这样也可以.
(x) -> System.out.println(x);
- 语法格式三:
# 若只有一个参数,小括号可以省略不写
x -> System.out.println(x);
- 语法格式四:
# 若 Lambda 体中只有一条语句, return 和 大括号都可以省略不写
Comparator<Integer> com = (x, y) -> Integer.compare(x, y);
- 语法格式五:
# 有两个以上的参数,有返回值,并且 Lambda 体中有多条语句
# 多条语句必须写在{}中,有返回值必须使用return返回.
Comparator<Integer> com = (x, y) -> {
System.out.println("函数式接口");
return Integer.compare(x, y);
};