Java中Lambda表达式与方法引用和构造器引用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cjhc666/article/details/54948909
方法引用:
首先看 Timer t = new Timer(1000, System.out::println);
表达式 System.out::println 就是一个方法引用,等价于Lambda表达式 x -> System.out.println(x);

方法引用的三种情况:
(一)、object::instanceMethod
(二)、Class::staticMethod
这两种情况等价于提供方法参数的Lambda表达式,如上述
System.out::println 等价于 x -> System.out.println(x)
(三)、Class::instanceMethod
这种情况,第一个参数会成为方法的目标

但是都可译为 调用某类的某方法。

当然,this和super也可以使用方法引用。
this::equels 等价于 x -> this.equels(x)

构造器引用:
构造器引用与方法引用很类似,只不过方法名是new,例如:Person::new 是构造器引用。
可以用数组类型建立构造器引用,例如:int[]::new, 它有一个参数:数组长度。等价于 x -> new int[x]
————————————————
版权声明:本文为CSDN博主「mz314」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cjhc666/article/details/54948909

你可能感兴趣的:(Java)