【发布时间】:2020-10-08 10:41:45
【问题描述】:
我找到了一个带有 java 谓词功能接口的示例:
BiPredicate<String, String> b1 = String::startsWith;
BiPredicate<String, String> b2 =
(string, prefix) -> string.startsWith(prefix);
System.out.println(b1.test("chicken", "chick"));
System.out.println(b2.test("chicken", "chick"));
我了解 b2 的工作原理 - 很清楚。
编译器如何理解如何使用 b1 方法?方法 boolean startWith(String str) 只有一个参数。字符串类没有
boolean startWith(String srt1, String srt2) 方法。
【问题讨论】:
-
只是一个捷径,
(a,b)->a.c()和ClassOfA::c是一回事 -
阅读方法参考。
标签: java