Lambda表达式
Lambda在Java里终于出现了,基本可以说Java里面最让人期待的就是这个了。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数式开发者非常熟悉这些概念。
在lambda中我们遵循如下的表达式来编写:
expression = (variable) -> action
最简单的Lambda表达式可由逗号分隔的参数列表和->符号和语句块组成,例如:
Arrays.asList( "a", "b", "c" ).forEach( e -> System.out.println( e ) );
在上面这个代码中的参数e的类型是由编译器推理得出的,你也可以显式指定该参数的类型,例如:
Arrays.asList( "a", "b", "c" ).forEach( ( String e ) -> System.out.println( e ) );
如果Lambda表达式需要更复杂的语句块,则可以使用花括号将该语句块括起来,类似于Java中的函数体,例如:
Arrays.asList( "a", "b", "c" ).forEach( e -> {
xxxxx;
System.out.print( e );
} );