Lambda表达式
Lambda表达式可以说是Java 8最大的卖点,她将函数式编程引入了Java。Lambda允许把函数作为一个方法的参数,或者把代码看成数据。
一个Lambda表达式可以由用逗号分隔的参数列表、–>符号与函数体三部分表示。例如:
Arrays.asList( "p", "k", "u","f", "o", "r","k").forEach( e -> System.out.println( e ) );
例子:
import java.util.Arrays;public class demo01 { public static void main(String[] args) { System.out.println("测试java 8的新特性"); Arrays.asList( "p", "k", "u","f", "o", "r","k").forEach(e -> System.out.println( e ) ); }}
执行结果:
测试java 8的新特性pkuforkProcess finished with exit code 0
为了使现有函数更好的支持Lambda表达式,Java 8引入了函数式接口的概念。函数式接口就是只有一个方法的普通接口。java.lang.Runnable与java.util.concurrent.Callable是函数式接口最典型的例子。为此,Java 8增加了一种特殊的注解@FunctionalInterface:
@FunctionalInterface public interface Functional { void method(); }