Чи є спосіб, щоб нижче можна було виконати як один набір операцій потоку, замість того, щоб чітко перевіряти, чи рекомендованіПродукти порожні, потім повернути список за замовчуванням, ще повернути відфільтрований список ?
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 Немає нічого поганого, але я намагався / сподівався з’ясувати, чи є спосіб зробити це просто за допомогою API Stream з явними перевірками умов. Дякую за відповідь - мені подобається пропозиція термінального оператора.
—
користувач3495691