권장 제품이 비어 있는지 명시 적으로 확인 하는 대신 아래의 하나의 스트림 작업 집합으로 아래를 수행 할 수있는 방법이 있습니까? 그렇지 않으면 기본 목록을 반환하고 그렇지 않으면 필터링 된 목록을 반환 합니까?
public List<Product> getRecommendedProducts() {
List<Product> recommendedProducts
= this.newProducts
.stream()
.filter(isAvailable)
.collect(Collectors.toList());
if (recommendedProducts.isEmpty()) {
return DEFAULT_PRODUCTS;
}
return recommededProducts;
}
4
기존 코드에 어떤 문제가 있습니까?
—
Andy Turner
@AndyTurner 동의합니다. 코드는 그대로 좋습니다. 내가 할 유일한 개선 사항 은 if-else 문 대신 삼항 연산자를 사용하는 것 입니다. 그래도 여전히 맛의 문제입니다.
—
ETO
@ETO 아무 문제가 없지만 명시 적 조건 검사없이 Stream API를 사용하여 수행 할 수있는 방법이 있는지 알아 내려고 노력하고있었습니다. 답장을 보내 주셔서 감사합니다. 삼항 연산자 제안이 마음에 듭니다.
—
user3495691