java8 新特性之方法引用
参考文章:菜鸟教程 https://www.runoob.com/java/java8-method-references.html
这一章节如果不好理解可以去看下我的另一篇函数接口,这章节其实用到的也是函数结果。
java8 新特性之函数式接口
方法引用介绍:
方法引用通过方法的名字来指向一个方法。
方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
方法引用使用一对冒号 :: 。
1、构造器引用:它的语法是Class::new,或者更一般的Class< T >::new实例如下:
// 构造方法引用 暂时发现只能无参构造方法引用 Supplier<Lambda> supplier = Lambda::new;
2、静态方法引用:它的语法是Class::static_method,实例如下:
public class Lambda { Lambda(){}; Lambda(int i){}; static void test(Lambda l){System.out.println(l);}; static void test2(String l){System.out.println(l);}; public static void main(String[] args) { // 构造方法引用 暂时发现只能无参构造方法引用 Supplier<Lambda> supplier = Lambda::new; Consumer<Lambda> consumer = x->System.out.println(x);; Consumer<Lambda> consumer2 = Lambda::test; Consumer<String> consumer3 = Lambda::test2; } }
3、特定类任意实例的方法引用:它的语法是instance::method实例如下:
Supplier<Lambda> supplier = Lambda::new; Supplier<Integer> consumer4 = supplier.get()::repair;
由上可以看出,只是把这个类的方法,赋值给函数接口,具体调用的时候传入参数 ,编译期检查参数类型是否符合函数接口的泛型。

浙公网安备 33010602011771号