【发布时间】:2018-03-11 20:24:51
【问题描述】:
我对 java 8 很感兴趣,我的循环看起来像这样:
Product neededProduct = null;
for (Iterator<Product> iterator = products.iterator(); iterator.hasNext();) {
Product product = iterator.next();
if (product.getProductId().equals(id)) {
neededProduct = product;
break;
}
}
现在我的想法是使用流替换它,
products.stream().filter(s -> s.getProductId().equals(id)).forEach(product -> {
neededProduct = product;
break;
});
但是 requiredProduct 必须是 final 才能用于 lambda 表达式,break 也不能用于 lambda,有什么想法可以解决这个问题吗?
【问题讨论】:
标签: loops for-loop java-8 java-stream