方法引用存在三类:
1、指向静态方法的方法引用(例如Integer的parseInt方法,写作Integer::parseInt)
2、指向任意类型实例方法的方法引用(例如String的length方法,写作String::length)
3、指向现有对象的实例方法的方法引用(假设你有一个局部变量expensiveTransaction用于存放Transaction类型对象,他支持实例方法getValue,那么你就可以些expensive-Transaction:;getValue。)
方法引用-静态方法引用
静态方法引用,多数用在执行工具类方法,例如:
1 | Function<String,String> staticMethodReference = MethodReference::appendHelloWorld; |
其中function
和function1
等价
方法引用-实例方法的方法引用
1 | Function<String,String> instanceMethodReference = String::toUpperCase; |
方法引用-现有对象的实例方法的方法引用
1 | public class User { |