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! ...