【发布时间】:2015-05-30 17:33:05
【问题描述】:
当给定siteUrl 包含预定义对列表中的键时,此代码应返回Optional 字符串(否则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"));
}
【问题讨论】:
标签: java java-8 java-stream optional