Java8新特性 -- Lambda基础语法

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

左侧: Lambda表达式参数列表;
右侧: Lambda表达式中所需执行的功能,即Lambda体。

  • 语法格式一: 无参数,无返回值。 () -> { }
    例如:
 Runnable runnable = () -> System.out.print("Hello Lambda");

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

说明: 若只有一个参数,小括号可以省略不写。

Consumer<String> consumer = (x) -> System.out.print("Hello Lambda");

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/tb9125256/article/details/81161376