诸如此类的unbound接收器的概念
String::length是指对象的方法,该方法 将作为lambda的参数之一提供
。例如,lambda表达式
(String s) -> s.toUpperCase()可以重写为
String::toUpperCase。
但是Bounded是指当您在lambda中调用 已存在 的 外部对象 的方法时的情况。例如,lambda表达式
() ->expensiveTransaction.getValue()可以重写为
expensiveTransaction::getValue。
三种不同方法引用方式的情况
(args) -> ClassName.staticMethod(args)可
ClassName::staticMethod
(arg0, rest) -> arg0.instanceMethod(rest)
可以
ClassName::instanceMethod(
arg0是类型
ClassName)
(args) -> expr.instanceMethod(args)可
expr::instanceMethod
从 Java 8 Action Book中检索到的答案



