1

我看不到任何方法来构建使用括号来控制逻辑顺序的谓词。有吗?

假设我想做 Predicate <= mumble and (foo or baz)

一个简单的 Predicates.and 或 Predicates.or 没有表示“foo 或 baz”和含糊不清的等价物。

这可能吗?

4

1 回答 1

8

这仅取决于您如何构建它:

// (mumble and foo) or baz
Predicates.or(Predicates.and(mumble, foo), baz)

// mumble and (foo or baz)
Predicates.and(mumble, Predicates.or(foo, baz))

没有真正需要“括号”,因为从方法调用本身来看,它是明确的。

于 2010-05-10T02:15:45.920 回答