Java 中 lambda 表达式的语法是什么?

lambda表达式是一种匿名方法(没有名称的方法),可用于提供由函数接口定义的方法的实现。

语法

([comma seperated argument-list]) -> {body}

Lambda表达语法规则

  • 因为编译器能够猜测参数的类型,所以我们可以省略数据类型。当只有一个参数时,括号也被省略。

  • 箭头标记(→)可能够连接参数和功能。这是强制性的。

  • 该主体包含语句 表达式的列表。在单个语句或表达式的情况下,花括号已省略。

示例

interface EvenOrOdd {
   void check(int a);
}
public class LambdaExpressionTest1 {
   public static void main(String[] args) {
      EvenOrOdd evenOrOdd = (int a) -> {      // Lambda 表达式 
         if(a% 2== 0){
            System.out.println("数字 "+ a +" 是奇数");
         } else {
            System.out.println("数字 "+ a +" 是偶数");
         }
      };
      evenOrOdd.check(7);
      evenOrOdd.check(10);
   }
}

输出结果

数字 7 是奇数
数字 10 是偶数