Lambda 表达式语法格式

  • 一、语法格式一:无参数,无返回值
    () -> System.out.println("Hello Lambda!");
  • 二、 语法格式二:有一个参数,并且无返回值
    (x) -> System.out.println(x)
  • 三、 语法格式三:若只有一个参数,小括号可以省略不写
    x -> System.out.println(x)
  • 四、 语法格式四:有两个以上的参数,有返回值,并且 Lambda 体中有多条语句
  1. Comparator<Integer> com = (x, y) -> {
  2. System.out.println("函数式接口");
  3. return Integer.compare(x, y);
  4. };
  • 五、 语法格式五:若 Lambda 体中只有一条语句, return 和 大括号都可以省略不写
    Comparator<Integer> com = (x, y) -> Integer.compare(x, y);
  • 六、 语法格式六:Lambda 表达式的参数列表的数据类型可以省略不写,因为JVM编译器通过上下文推断出,数据类型,即“类型推断”
    (Integer x, Integer y) -> Integer.compare(x, y);

    函数式接口

    接口中只有一个抽象方法的接口,称为函数式接口。
    可以通过注解@FunctionalInterface来判断是否是函数式接口 。