[英]Convert Guava predicate to Java 8 predicate
我正在嘗試將以下代碼從 Gauva 謂詞轉換為 java 謂詞,但不知道如何應用或,而不是 java 謂詞的 function 到以下方法
import java.util.function.Predicate;
class Test {
private Predicate<String> getPath() {
return or(
PathSelectors.ant("/v1/*/s1/**"),
PathSelectors.ant("/v1/*/s2/**"),
and(PathSelectors.ant("/v/*/test/*/s3/*")),
not(PathSelectors.ant("/v1/*/test/*/s4/*"))),
PathSelectors.ant("/v1/*/test/*/s5/*/*"),
PathSelectors.ant("/v1/*/test/*/s5/*/*"),
);
}
}
Predicate
有and
, or
and 一個negate
方法,但是 and 和 or 只接受一個單獨的其他謂詞。 您仍然可以像這樣使用這些方法:
PathSelectors.ant("/v1/*/s1/**")
.or(PathSelectors.ant("/v1/*/s2/**")
.or(PathSelectors.ant("/v/*/test/*/s3/*").and(PathSelectors.ant("/v1/*/test/*/s4/*").negate()))
.or(PathSelectors.ant("/v1/*/test/*/s5/*/*")
.or(PathSelectors.ant("/v1/*/test/*/s5/*/*");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.