중간연산 .filter() 을 사용할 때 주의점 ! 실수 note ~

Yunny.Log ·2022년 11월 12일
0

Spring Boot

목록 보기
79/80
post-thumbnail

BEFORE

List<RouteProduct> routeProductList = routeProductRepository.findAll()
.stream().filter(
    rp -> rp.getSequence().equals(
          rp.getRouteOrdering().getPresent()
     )
&&
   rp.getProject()!=null?
         !rp.getProject().isDeleted() 
         && !rp.getProject().isDropped() && !rp.getProject().isPending()
           : true
        ).collect(Collectors.toList());

내가 사용하고 있던 filter

  • && 으로 조건을 걸면 적용될 줄 앎
  • 그러나 filter에 건 조건이 하나도 적용이 안되고 findAll() 이 모두 찾아와지고 있었다!!

AFTER


List<RouteProduct> routeProductList = routeProductRepository.findAll().stream()
                .filter(
                        rp -> rp.getSequence().equals(
                                rp.getRouteOrdering().getPresent()
                        )
                ).filter(
                        rp ->
                                rp.getProject()!=null?
                                        !rp.getProject().isDeleted() && !rp.getProject().isDropped() && !rp.getProject().isPending()
                                        : true
                ).collect(Collectors.toList());

0개의 댓글