Lambda表达式是java8为函数式编程特别创造的一种书写形式,就像jstl对于jsp。
常见的Lambda书写形式有如下几种情形:
- 没有参数
不能省略"()",如:
Runnable runnable = () -> System.out.println("hello word");
- 有一个参数
可以省略"()"和参数类型,如:
button.addActionListener(event -> {
System.out.println("button clicked")
});
- 多个参数
可以省略类型,必要时显示声明类型,如:
BinaryOperator<Long> add = (a, b) -> a + b;
BinaryOperator<Long> add = (Long a, Long b) -> a + b;
- 行为代码只有一句
可以省略"{}"和return(如果有),如:
Function<Integer,Integer> function = (a)-> a+1;
- 行为代码有多句
不能省略"{}",且每行代码以分号结尾,如:
Function<Integer,Integer> function = (a)-> {
System.out.println(a);
return a+1;
};