0
我了解Java谓词一个问题...了解Java谓词
例子:
public class UserPredicates {
public static Predicate<User> isNameEmpty() {
return p -> p.getFirstName().isEmpty() && p.getLastName().isEmpty();
}
}
上面的例子混淆对我来说,它是如何知道p
有方法getFirstName()
和getLastName()
?
如果我理解正确的话,isNameEmpty()
返回与一个参数(p
)的功能,但是编译器真的通过查看返回类型找出类型?
并且返回的功能与谓词接口test()
?
*该编译器真正弄清楚通过查看返回类型来键入?*完全正确。如果你想明确,你可以做'(用户p) - > ...'。 – shmosel