本章节我们重点来讲讲 Java 8 中的 Runnable Lambda 表达式。众所周知,Java 8 中的 Runable 和 Callable 两个接口都添加了 @FunctionalInterface 注解,因此我们可以直接使用 Lambda 表达式来代替它们的 run() 和 call() 方法
Runnable 表达式
Java 8 开始支持 Lambda 表达式,所以,好像,一夜间,所有添加了 @FunctionalInterface 注解的方法都可以使用 Lambda 表达式来创建实例,Runnable 也不例外,我们可以直接使用一个 Lambda 表达式来创建它的实例
Runnable r = () -> System.out.println("Hello World!");
Thread th = new Thread(r);
th.start();
运行结果输出为 Hello World ,是不是很神奇,如果没有 Lambda 表达式,那么原来的代码可能如下
Runnable r = new Runnable() {
@Override
public void run() {
System.out.println("Hello World!");
}
};
Thread th = new Thread(r);
th.start();
如果我们的 Lambda 表达式需要多行代码,可以用一对打括号 {} 扩起来,就像下面这样
Runnable r = () -> {
Consumer<Book> style = (Book b) -&g