Java8新特性 -- Lambda基础语法

时间:2021-04-21 19:14:29

Lambda 表达式的基础语法: Java8引入了一个新的操作符 “->”  该操作符称为箭头操作符或Lambda操作符, 该操作符将Lambda表达式拆分为两部分:

  左侧: Lambda表达式参数列表;

  右侧: Lambda表达式中所需执行的功能,即Lambda体。

语法格式一: 无参数,无返回值。    ()  -> { }

      例如: Runnable runnable = () -> System.out.print("Hello Lambda");

Java8新特性 -- Lambda基础语法

 

语法格式二: 有一个参数,并且无返回值。 (x) ->{ }

说明: 若只有一个参数,小括号可以神略不写。
Consumer<String> consumer = (x) -> System.out.print("Hello Lambda");

Java8新特性 -- Lambda基础语法

 

语法格式四: 有两个以上参数,又返回值, 并且Lambda式中有多条语句。

说明: 若Lambda体中只有一条语句,return 和 大括号都可以省略不写。

Comparator<Integer> comparator = (x, y) -> {
System.out.print("Hello Lambda");
return Integer.compare(x,y);
};

说明:  Lambda表达式参数列表的数据类型可以省略不写,因为JVM的编译器通过上下文可以推断出类型,即  “类型推断”

 

Lambda表达式需要“函数式接口”的支持。

函数式接口: 接口中只有一个抽象方法的接口,称为函数式接口。可以使用注解@FunctionalInterface修饰 来检查是否是函数式接口。