方法引用(Method reference)和构造器引用(construct reference)

Java 8 允许你使用 :: 关键字来传递方法或者构造函数引用

方法引用语法格式有以下三种:

  • objectName::instanceMethod
  • ClassName::staticMethod
  • ClassName::instanceMethod

如:

System.out::println
String str = "ABc";
str::toLowerCase;

System.out::println等同于x->System.out.println(x)

最后一种方式,等同于把lambda表达式的第一个参数当成instanceMethod的目标对象,其他剩余参数当成该方法的参数。
比如String::toLowerCase等同于x->x.toLowerCase()。

 

构造器引用语法如下:ClassName::new,把lambda表达式的参数当成ClassName构造器的参数 。

例如BigDecimal::new等同于x->new BigDecimal(x)。

posted @ 2017-07-24 14:08  April.Chen  阅读(396)  评论(0编辑  收藏  举报