簡體   English   中英

如何使用Java 8流返回Optional String

[英]How to return Optional String using Java 8 streams

當給定的siteUrl包含預定義的配對對中的鍵時,此代碼應返回Optional String(否則為Optional.empty() )。

有沒有比這里使用new Pair(null, null)更好的方法? 或者也許改變整個表情?

static Optional<String> get(String siteUrl) {
    return Optional.ofNullable(URL_TO_ENVIRONMENT
            .stream()
            .filter(p -> siteUrl.contains(p.getKey()))
            .findFirst().orElse(new Pair(null, null)).getValue());
}

private static final List<Pair> URL_TO_ENVIRONMENT = buildList();

private static List<Pair> buildList() {
    return Arrays.asList(
            new Pair("aaa.mysite.com", "aaa_something"),
            new Pair("bbb.mysite.com", "bbb_something"),
            new Pair("ccc.mysite.com", "ccc_comething"));
}
return URL_TO_ENVIRONMENT.stream()
    .filter(p->siteUrl.contains(p.getKey()))
    .map(Pair::getvalue)
    .findFirst();

您是否特別需要第一場比賽? 如果您只想要任何匹配項,請使用findAny而不是findFirst

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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