Java中如何使用 lambda 表达式中的 return 语句

return语句不是lambda表达式中的表达式。我们必须用大括号({})括住语句。但是,我们不必将void方法调用括在大括号中。方法的返回类型,其中return语句中使用的lambda表达式必须是函数接口。

例子1

public 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

例子2

public 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表达式返回语句