Comparator<BudgetReportFetchResultDto> reportListSort = Comparator
.comparing(BudgetReportFetchResultDto::getBudgetCostType)
.thenComparing(BudgetReportFetchResultDto::getDepartmentName, nullsLast(naturalOrder()))
.thenComparing(BudgetReportFetchResultDto::getCenterName, nullsLast(naturalOrder()))
.thenComparing(BudgetReportFetchResultDto::getOfficeCodeName, nullsLast(naturalOrder()))
.thenComparing(BudgetReportFetchResultDto::getMainTeamCodeName, nullsLast(naturalOrder()))
.thenComparing(BudgetReportFetchResultDto::getCharacterCode, nullsLast(naturalOrder()));
....생략
return returnListData.stream()
.sorted(reportListSort)
.collect(toList());
두개 이상 비교 할 경우 위처럼 사용.
혹시라도 비교대상이 null 일 경우가 있기 때문에 nullLast 구문을 사용하도록 한다.
'개발이슈 > JAVA' 카테고리의 다른 글
Java 8의 람다와 메서드 참조를 이용한 회원 검색 기능 개선 (0) | 2023.12.06 |
---|---|
GroupingBy 분기별 합계 구하기 (0) | 2023.01.02 |
스프링 AOP (0) | 2014.04.14 |
트위터 ssl 인증서 keytool 사용하여 자바에 추가 하는 방법 (0) | 2014.04.01 |
TDD (0) | 2014.03.20 |