Java 8 的最大变化是引入了 Lambda 表达式, 一种紧凑的、 传递行为的方式。
目录
无参数型
无参数型Lamdba表达式,使用 () 表示没有参数。
Runnable noArgs = () -> System.out.println("no Arguments Lamdba")
该 Lambda 表达式实现了 Runnable 接口, 该接口也只有一个 run 方法, 没有参数, 且返回类型为 void。
单参数型
单参数型Lamdba表达式,只有一个参数,可以省略括号。
ActionListener oneArgument = event -> System.out.println("one argument express");
如果加上了参数类型,则括号不可省略。
ActionListener oneArgument = (ActionEvent event) -> System.out.println("one argument express");
多参数型
多参数型Lamdba表达式,会有多个参数,括号不能省略。
BinaryOperator<Long> add = (x, y) -> x + y;
也可以加上参数类型。
BinaryOperator<Long> add = (Long x, Long y) -> x + y;
代码块型
Lamdba表达式的方法体不仅可以是一行代码,也可以是一段代码块。
代码块同样使用对 无参形式、单参形式、多参形式。
Runnable multiStatement = () -> {
int a = 0;
System.out.println("mutipart statement express");
};
简写型
Integer result = Stream.of("1", "2", "3").mapToInt(Integer::parseInt).sum();
Stream.generate(Random::new).findFirst().get();
以上就是对Lamdba表达式的几种形式的总结,希望有帮助!