Java
Java - Long.valueOf() 변환시 null 처리하는 방법
codeManager
2022. 9. 30. 17:30
반응형
Long 값을 가지고 처리 시 null값이 들어가면 안되는 경우에 null safe 하게 처리하는 방법입니다.
public static Comparator<Person> getComparator() {
return Comparator.comparing(p -> Long.valueOf(p.getAge()), Comparator.naturalOrder());
}
예를 들어 Person object에서 age를 비교하는 comparator를 만드는 경우입니다.
p.getAge()가 null인 경우 exception이 발생하게 됩니다.
이런 경우에 p.getAge()가 null일때 default 값을 넣어서 처리가 필요합니다.
public static Comparator<Person> getComparator() {
return
Comparator.comparing(p -> Long.valueOf(
Optional.ofNullable(p.getAge()).orElseGet(() -> 0L)
, Comparator.naturalOrder());
}
Optional 클래스를 사용해서 null인 경우 orElseGet으로 default값을 0으로 넣어줄 수 있습니다.
이렇게 처리하면 comparator에서 null인 경우에도 exception 발생하지 않고 처리가 가능합니다.
반응형