Java lambda 表达式的主体,也就是它所代表的函数/方法的主体,指定在 lambda 声明中 -> 的右侧。下面是一个例子:
(oldState, newState) -> System.out.println("State changed")如果您的 lambda 表达式需要包含多行,您可以将 lambda 函数主体括在 { } 括弧内,Java 在其他地方声明方法时也要求使用该括弧。下面是一个示例:
(oldState, newState) -> {
System.out.println("Old state: " + oldState);
System.out.println("New state: " + newState);
}该示例将使用 lambda 表达式实现 Runnable 接口,启动一个线程,每隔5秒输出向控制台打印“Hello Lambda!”字符串。例如:
package com.hxstrive.jdk8.lambda;
/**
* Java8 lambda 表达式
* @author hxstrive.com
*/
public class LambdaDemo1 {
public static void main(String[] args) {
new Thread(() -> {
// lambda 表达式函数体
while(true) {
try {
System.out.println("Hello Lambda!");
Thread.sleep(5000);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}运行示例,输出如下:
Hello Lambda! Hello Lambda! Hello Lambda! Hello Lambda! Hello Lambda! ...