consume(String)方法匹配
Consumer<String>接口,因为它消耗了
String-返回值的事实是不相关的,因为-在这种情况下-它被忽略了。(因为Consumer接口根本不希望有任何返回值)。
它必须是一种设计选择,并且基本上是一种实用程序:想象一下必须重构或复制多少种方法,才能满足功能接口(例如
Consumer甚至是非常常见的接口)的需求
Runnable。(请注意,例如,你可以将任何不占用任何参数的方法传递
Runnable给
Executor,)。
甚至方法都
java.util.List#add(Object)返回值:
boolean。仅仅因为它们返回了某些东西(在许多情况下大多数情况下是不相关的)而无法传递此类方法引用会很烦人。



