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