簡體   English   中英

將 Guava 謂詞轉換為 Java 8 謂詞

[英]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/*/*"),
               
        );
    }
    
    }

Predicateand , 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM