¿Hay alguna manera de que lo siguiente se pueda realizar como un conjunto de operaciones de flujo, en lugar de verificar explícitamente si los productos recomendados están vacíos y luego devolver la lista predeterminada o devolver la lista filtrada ?
public List<Product> getRecommendedProducts() {
List<Product> recommendedProducts
= this.newProducts
.stream()
.filter(isAvailable)
.collect(Collectors.toList());
if (recommendedProducts.isEmpty()) {
return DEFAULT_PRODUCTS;
}
return recommededProducts;
}
44
¿Qué hay de malo con tu código existente?
—
Andy Turner
@AndyTurner De acuerdo. El código es bueno como es. La única mejora que haría es usar el operador ternario en lugar de la instrucción if-else . Sin embargo, todavía es una cuestión de gustos.
—
ETO
@ETO No hay nada de malo, pero estaba intentando / con la esperanza de descubrir si hay una manera de hacerlo simplemente usando Stream APIs sin verificaciones de condición explícitas. Gracias por la respuesta. Me gusta la sugerencia del operador ternario.
—
user3495691