目录
一、简介
方法引用就是,把已有的方法拿过来,当作函数式中抽象方法的方法体。
下面示例更能明白方法引用的好处:
上面示例 ,使用匿名内部类和lambda表达式的方法必须重新实现方法,但是方法引用可以用类实现好的方法拿来使用。
刚才的示例代码用到方法引用的地方就是函数式接口的地方,即Arrays类的sort方法的第二个参数comparator,这个参数是一个函数式接口,底层代码如下:
二、引用静态方法
1.格式
2.示例
将集合里面的字符串转化为数字
3.条件解析
三、引用成员方法
1.格式
2.示例
注意:main方法里面是禁止使用this、super的
四、引用构造方法
1.格式
2.示例
准备好一个Student类
用引用构造方法的方式将字符串转换出对象
五、类名引用成员方法
1.格式
2.略微不同的方法引用规则
前面只有静态方法才能使用类名::方法名,普通方法也要这样用就必须遵守下面的规则。与原规则不同的地方在于形参。
3.示例
需求:将集合中的字符串小写转大写
下面是map的形参即函数式接口,它的抽象方法只有一个参数,所以只能引用无参的方法,流的数据类型是String,所以选用String的无参方法。
下面左边是匿名内部类的写法,右边是String类的无参方法toUpperCase将小写字母转大写,满足功能需求。返回值由被引用的方法决定。
六、引用数组的构造方法
1.格式
2.示例
函数式接口的抽象方法