【问题标题】:Understanding Java Predicates理解 Java 谓词
【发布时间】:2017-02-13 14:40:51
【问题描述】:

我在理解 Java 谓词时遇到问题...

例子:

public class UserPredicates {
 public static Predicate<User> isNameEmpty() {
  return p -> p.getFirstName().isEmpty() && p.getLastName().isEmpty();
 }
}

上面的例子让我很困惑,怎么知道pgetFirstName()getLastName()的方法?
如果我理解正确的话,isNameEmpty() 返回一个带有一个参数的函数(p),但是编译器真的通过查看返回类型就知道类型了吗?

而返回的函数是来自 Predicate 接口的test()

【问题讨论】:

  • 编译器真的通过查看返回类型来判断类型吗? 完全正确。如果你想明确一点,你可以(User p) -&gt; ...

标签: java lambda predicate


【解决方案1】:

Predicate&lt;User&gt; 表示以User 为参数并返回boolean 的函数。

Javadoc:

接口谓词
...
类型参数:
T - 谓词的输入类型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2011-02-26
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多