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