语法格式一:无参数,无返回值
()->System.out.println("hello world")
语法格式二:有参数,无返回值
(X)->System.out.println(x)
语法格式三:若有1个参数,小括号可以省略
x->System.out.println(x)
语法格式四:有2个以上的参数,有返回值,且lambda体中有多条语句
Comparator<Integer> com =(x,y)->{
System.out.println("函数式接口")
return Integer.compare(x,y);
}
语法格式五:有2个以上的参数,有返回值,且lambda体中只有1条语句,大括号和return都可以不写
语法格式六:lambda表达式的参数列表的数据类型可以省略不写,因为JVM可以根据上下文推断出类型。
lambda表达式需要函数式接口的支持
函数式接口的定义:只能有1个方法的抽象类,叫函数式接口,可以用@FunctionalInterface进行修饰。即用@FunctionalInterface修饰的接口 叫函数式接口,里边只能有1个抽象方法。