[英]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.