return语句不是lambda表达式中的表达式。我们必须用大括号({})括住语句。但是,我们不必将void方法调用括在大括号中。方法的返回类型,其中return语句中使用的lambda表达式必须是函数接口。
例子1public class LambdaReturnTest1 {
interface Addition {
int add(int a, int b);
}
public static Addition getAddition() {
return (a, b) -> a + b; //Lambda表达式 return 语句
}
public static void main(String args[]) {
System.out.println("a和b的相加是: " + getAddition().add(20, 50));
}
}
输出结果a和b的相加是: 70
例子2public class LambdaReturnTest2 {
public static void main(String args[]) {
Thread th = new Thread(getRunnable());
th.run();
}
public static Runnable getRunnable() {
return() -> { //Lambda表达式返回语句
System.out.println("Lambda表达式返回语句");
};
}
}
输出结果Lambda表达式返回语句