一、Lambda 表达式
Java8
中引入了一个新的操作符 ->
, 该操作符称为箭头操作符或Lambda
操作符
该操作符将 lambda
表达式分为两部分:
左侧:函数式接口中抽象方法的参数列表
右侧:对函数式接口中抽象方法的实现,即 Lambda
体
Lambda
表达式需要函数式接口的支持
二、Lambda 基础语法
- 语法格式一:无参数,无返回值
() -> System.out.println("Java8中的 Lambda 表达式实现函数式接口")
语法格式二:有一个参数,无返回值
(s) -> System.out.println(s);
- 语法格式三:若参数列表只有一个参数时,小括号可以省略不写
s -> System.out.println(s);
语法格式四:有多个参数,有返回值,并且
Lambda
体中有多条语句(x, y) -> { System.out.println("Lambda 体中多条语句"); return Integer.compare(x.length(), y.length()); };
- 语法格式五:若
Lambda
体中只有一条语句,大括号与return
可以省略不写
(x, y) -> Integer.compare(x.length(), y.length())
语法格式六:
Lambda
表达式中参数列表的类型可以省略不写,因为Java
编译器可以通过上下文推断出参数的类型,即“类型推断”(String x, String y) -> Integer.compare(x.length(), y.length());
此处评论已关闭