Java8方法引用和构造器引用

方法引用

方法引用的意思就是若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用”,可以简单理解为是Lambda表达式的另外一种表现形式。

主要有以下三种用法:

对象::实例方法名

定义一个函数式接口:


原来在Lambda表达式中是这么使用的:


这里有个前提:函数式接口的抽象方法参数列表和返回值要与Lambda体中的方法的参数列表和返回值要一致。

这个方法,在Lambda体中是执行的println方法,实际执行println方法是由System.out返回的对象:


方法引用:


类::静态方法名

这里有个前提:函数式接口的抽象方法参数列表和返回值要与Lambda体中的静态方法的参数列表和返回值要一致。


类::实例方法名

函数式接口:



这里有个前提:函数式接口的抽象方法参数列表和返回值要与Lambda体中的方法的参数列表和返回值要一致。而且第一个参数是方法的调用者,第二个参数被调用的方法参数。


构造器引用

前提:需要调用的构造器的参数列表要与函数式接口中抽象方法的参数列表保持一致

无参构造

函数式接口:



有参构造

函数式接口:


在User类中增加一个有参构造:



数组引用

格式:类型[]::new;

数组引用跟构造器引用差不多。



猜你喜欢

转载自blog.csdn.net/dongguabai/article/details/80974681