Language/Java
자바 Stream filter 사용 시 조건(if) 적용방법
wakestand
2022. 12. 7. 00:14
반응형
자바 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과 동일한 항목만
필터링 되는 것이 보인다
반응형