函数式接口&lambda表达式
函数式接口
函数式接口的验证注解:@FunctionalInterface
函数式接口:接口中只定义了一个抽象方法
案例1
案例2
lambda表达式
lambda表达式的本质:函数式接口的匿名实现类的匿名对象(只能有一个抽象方法的接口)
(String str) -> {System.out.printf(str)}
-> 左边:lambda形参列表(接口抽象方法的形参列表)
形参列表的参数类型可以省略(类型推断),如果形参列表只有一个参数则可以省略"()"
-> 右边:lambda体(重写的抽象方法体)
方法体要用"{ }"包裹,如果方法体只有一条执行语句则可以省略"{ }"和return关键字(如果有return),
实例1
or
实例2
实例3
实例4
实例5
实例6
or
方法引用&构造方法引用
构造器引用&数组引用