for (final Prices ppr : prices) {
if (!currency.getCode().equals(ppr.getCurrency().getCode())) {
continue;
}
return ppr.getPrice();
}
上面的代码可以转换成Java流代码吗?我收到了continue
关键字错误...
答案 0 :(得分:9)
return prices.stream()
.filter(ppr -> currency.getCode().equals(ppr.getCurrent().getCode()))
.findFirst()
.orElseThrow(NoSuchElementException::new);
答案 1 :(得分:0)
只需扩展您提供的答案,您也可以
return prices.stream()
.filter(ppr -> currency.getCode().equals(ppr.getCurrent().getCode()))
.findFirst()
.orElse(/* provide some default Price in case nothing is returned */);
而不是.findFirst()。get()返回不应为空的值。所以它假设会返回一些数据。使用orElse语句,您可以提供默认值,以防返回任何内容。