Java中lambda表达式主体的规则是什么?

Lambda表达式是一个匿名 函数 (无名 函数),已作为参数传递给另一个函数。使用lambda表达式的主体时,我们需要遵循一些规则。

Lambda表达式主体的规则

  • λ表达式的主体可以是一个单一的表达或更多的语句。

  • 如果我们使用单个表达式作为lambda表达式的主体,则无需用花括号({})将主体括起来。

  • 如果我们使用一个或多个语句作为lambda表达式的主体,则必须将它们括在花括号({})中。

语法

(parameters) OR () -> {body with statements separated by;} OR Single Statement

示例

interface Message {
   String message(String name);
}
public class LambdaExpressionBodyTest {
   public static void main(String args[]) {
      // Lambda expression using single expressio
      Message msg1 = msg -> "TutorialsPoint " + msg;
      System.out.println(msg1.message("Lambda Expression With Expression"));      // Lambda expression using statement
      Message msg2 = msg -> { return "TutorialsPoint " + msg; };
      System.out.println(msg2.message("Lambda Expression With Statement"));    
      // Lambda expression using multiple statements
      Message msg3 = msg -> {
         String hello = "TutorialsPoint " + msg;
         return hello;
      };
      System.out.println(msg3.message("Lambda Expression With Multiple Statement"));
   }
}

输出结果

TutorialsPoint Lambda Expression With Expression
TutorialsPoint Lambda Expression With Statement
TutorialsPoint Lambda Expression With Multiple Statement