一.方法引用:
1.使用情景:
- 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用
2.本质:
- 方法引用的本质上就是一种Lambda表达式,而Lambda表达式作为函数式接口的实例,所以,方法引用,也是函数式接口的实例
3.使用格式:
- 对象 :: 静态方法
- 类 :: 静态方法
- 类 :: 非静态方法
4.要求:
- 方法引用使用的要求:要求接口中的抽象方法的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型相同(针对于情况1和情况2)
二.方法引用使用的三种情况:
1.对象 :: 非静态方法
我们先看下面两个例子
首先:我们不难发现代码是在一步一步的简化,方法的引用其实就是Lambda表达式->后面的对象::方法名
根据这个规律我们来看第二种情况。
2.类 :: 静态方法
第二种情况其实就是用类::方法名,其实就是将第一种情况对象的位置换成类。
3.类 :: 非静态方法
此方法略有难度,目前还没有参透,日后在做慢慢总结;