函数式接口&lambda表达式

函数式接口

函数式接口的验证注解:@FunctionalInterface

函数式接口:接口中只定义了一个抽象方法

案例1

案例2

lambda表达式

lambda表达式的本质:函数式接口的匿名实现类的匿名对象(只能有一个抽象方法的接口)

(String str) -> {System.out.printf(str)}

-> 左边:lambda形参列表(接口抽象方法的形参列表)

    形参列表的参数类型可以省略(类型推断),如果形参列表只有一个参数则可以省略"()"

-> 右边:lambda体(重写的抽象方法体)

    方法体要用"{ }"包裹,如果方法体只有一条执行语句则可以省略"{ }"和return关键字(如果有return),

实例1

or

实例2

实例3

实例4

实例5

实例6

or

方法引用&构造方法引用

构造器引用&数组引用

 

原文地址:https://www.cnblogs.com/zyb-mini/p/lambda.html