有什么办法可以将以下操作作为一组流操作执行,而不是显式检查RecommendationProducts 是否为空,然后返回默认列表,否则返回过滤后的列表?
public List<Product> getRecommendedProducts() {
List<Product> recommendedProducts
= this.newProducts
.stream()
.filter(isAvailable)
.collect(Collectors.toList());
if (recommendedProducts.isEmpty()) {
return DEFAULT_PRODUCTS;
}
return recommededProducts;
}
4
您现有的代码有什么问题?
—
安迪·特纳
@AndyTurner同意。该代码是好的。我要做的唯一改进是使用三元运算符而不是if-else语句。虽然这仍然是一个品味问题。
—
ETO
@ETO没错,但是我试图/希望找出是否有办法仅通过使用不带显式条件检查的Stream API来做到这一点。感谢您的答复-我喜欢三元运算符的建议。
—
user3495691