본문 바로가기
Language/Java

자바 Stream filter 사용 시 조건(if) 적용방법

by wakestand 2022. 12. 7.
반응형

자바 Stream을 사용하는 도중

filter 메소드에 조건을 적용하려고 하는데

 

param이 null로 들어올 때는

조건이 적용되지 않고

전체를 가져오려고 하고

 

param에 값이 있을 경우에는

그 값과 동일한 값을 끌어오려고 하는데

 

filter에 삼항연산자를 넣어

간단히 해결 가능하다

 

filter 메소드만 보자면

filter(test -> param == null ? 1==1 : test.get~().equals(param))

이런 식인데 

 

param이 null이면 1==1은

다 가져오겠다는 말이고

 

null이 아닐 경우에는

param과 같은 값만 필터링을 하게 된다

 

예제로 보자면 아래와 같은데

 

param이 null일 경우에는 

1 == 1에 걸려

List의 모든 항목이 나오는 것이 보인다

 

반대로 param에 값이 있을 경우에는

param과 동일한 항목만

필터링 되는 것이 보인다

반응형

댓글