Có cách nào để bên dưới có thể được thực hiện dưới dạng một tập hợp các hoạt động luồng, thay vì kiểm tra rõ ràng nếu đề xuấtSản phẩm trống thì trả về danh sách mặc định khác trả về danh sách đã lọc không?
public List<Product> getRecommendedProducts() {
List<Product> recommendedProducts
= this.newProducts
.stream()
.filter(isAvailable)
.collect(Collectors.toList());
if (recommendedProducts.isEmpty()) {
return DEFAULT_PRODUCTS;
}
return recommededProducts;
}
4
Có gì sai với mã hiện tại của bạn?
—
Andy Turner
@AndyTurner Đồng ý. Các mã là tốt như nó là. Cải tiến duy nhất tôi sẽ làm là sử dụng toán tử ternary thay vì câu lệnh if-other . Nó vẫn là một vấn đề của hương vị mặc dù.
—
ETO
@ETO Không có gì sai, nhưng tôi đã cố gắng / hy vọng tìm hiểu xem có cách nào để làm điều đó chỉ bằng cách sử dụng API Stream với các kiểm tra điều kiện rõ ràng. Cảm ơn đã trả lời - Tôi thích đề xuất của nhà điều hành ternary.
—
user3495691