Lambda表达式
格式:
->:Lambda操作符、箭头操作符
左边:Lambda的形参列表(接口中抽象方法的形参列表)
右边:Lambda体(重写的抽象方法的方法体)
实质:
作为函数式接口的实例
lambda表达式的使用:
-> 左边:Lambda形参列表的参数类型可以省略,如果lambda形参列表只有一个参数,则括号也可以省略
->右边:Lambda体应该使用一对{}包裹,如果Lambda体只有一条执行语句,可以省略{}和return关键字
函数式接口
如果一个接口中,只声明了一个抽象方法,则此接口就称为函数式接口
java内置的4大核心函数式接口
消费型接口 Consumer void accept(T t)
供给型接口 Supplier T get()
函数型接口 Function<T,R> R apply(T t)
断定型接口 Predicate boolean test(T t)
方法引用
使用情境:
当要传递给Lambda体的操作,已经有实现方法了,可以使用方法引用
使用格式:
类(或对象):: 方法名
要求:
接口中的抽象方法的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型相同