lambda介绍
Lambda是一个匿名函数,可以理解为一段可以传递的代码(将代码像数据一样传递);可以写出更简洁、更灵活的代码;作为一种更紧凑的代码风格,是Java语言表达能力得到提升。
基础语法
- 操作符:->
- 左侧:参数列表
- 右侧:执行代码块 / Lambda 体
函数式接口
函数式接口 | 参数类型 | 返回值类型 | 用途 |
---|---|---|---|
Consumer消费型接口 | T | void | 对类型为T的对象应用操作:void accept(T t) |
Supplier提供型接口 | 无 | void | 返回类型为T的对象:T get() |
Function<T, R>函数型接口 | T | R | 对类型为T的对象应用操作,并返回结果为R类型的对象:R apply(T t) |
Predicate断言型接口 | T | Boolean | 确定类型为T的对象是否满足某约束,并返回boolean值:boolean test(T t) |
方法引用
定义:若 Lambda 表达式体中的内容已有方法实现,则我们可以使用“方法引用”,Lambda 表达实体中调用方法的参数列表、返回类型必须和函数式接口中抽象方法保持一致。
三种语法格式
语法格式:
对象 :: 实例方法
类 :: 静态方法
类 :: 实例方法