一、什么是方法引用
方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法。方法引用提供了一种引用而不执行方法的方式,它需要由兼容的函数式接口构成的目标类型上下文。计算时,方法引用会创建函数式接口的一个实例。
二、方法引用的好处
1.方法引用通过方法名字来指向一个方法。
2.方法引用可以使语言的构造更紧凑简洁,减少冗余的代码。
3.方法引用使用一对冒号“::”
三、方法引用格式
符号表示: “::”
符号说明:双冒号为方法引用运算符,而它所在的表达式被称之为方法引用。
应用场景:如果lambda表达式所要实现的方案,已经有其他的方法存在相同的方案,那么就可以使用方法引用。
package c; import java.util.ArrayList; import java.util.List; /**模拟方法引用的使用 * @author Java方文山 * */ public class test { public void add(String sb) { System.out.println("-"+sb); } public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("zs"); list.add("ls"); list.add("ww"); list.stream().forEach(new test()::add); } }
打印结果
看到这里就知道方法引用起了作用
四、常见引用方式
方法引用在DK8中使用方式相当灵活,有以下几种形式:
1. instanceName::methodName ——对象::方法名
2. C1assName::staticMethodName ——类名::静态方法
3. ClassName::methodName ——类名::普通方法
4. C1assName::new ——类名::new (调用的构造器)
5. Typevame[ ]::new —— String[ ]::new 调用数組的构造器
好啦,这篇关于方法引用的方法就分享到这里,有疑问或者不足之处欢迎评论区留言!!