Java8新特性之方法引用

时间:2023-03-09 19:19:25
Java8新特性之方法引用

《Java 8 实战》学习笔记系列

定义

方法引用让你可以重复使用现有的方法定义,并像Lambda一样传递它,可以把方法引用看作针对仅仅涉及单一方法的Lambda的语法糖,使用它将减少自己的代码量

构建方法引用

方法引用主要有三类

1.指向静态方法的方法引用

(args) -> Integer.parseInt(args)
//写作
Integer::parseInt

2.指向任意类型实例方法的方法引用

(args) -> args.length()
//写作
String::length

3.指向现有对象的实例方法的方法引用

(args) -> obj.handle(args)
//写作
obj::handle

示例

(Apple a) -> a.getWeight()
Apple::getWeight () -> Thread.currentThread().dumpStack()
Thread.currentThread()::dumpStack (str, i) -> str.substring(i)
String::substring (String s) -> System.out.println(s)
System.out::println