[JAVA] ObjectUtils 클래스를 사용하여 null 값 체크하는 예제(ObjectUtils.isEmpty(),ObjectUtils.isNotEmpty())
ObjectUtils.class는 org.apache.commons.lang3 패키지에 포함되어 있는데 NullPointerException 예외 처리에 유용하다.
ObjectUtils
ObectUtils는 StringUtils와 달리 모든 Object에 대응 가능하다는 이점이 있다.
[JAVA] 자바 코딩시 null 체크 방법으로 Optional.ofNullable, .orElseGet(), .orElseThrow() 사용 예제 총정리
객체 또는 문자열에서 null값과 공백값을 체크가 필요할 때 활용할 수 있다. if문을 작성할때 코드가 간결해지는 부분도 있다.
defaultIfNull()메소드
null 값 대신 리턴할 값을 지정해줄 수 있다.
ObjectUtils.defaultIfNull(null, “비었네”)
ObjectUtils.isEmpty() 를 이용한 null 체크(isEmpty(), != null)
1. List 가 null 일 경우
if(list != null){
// todo
}
위 코드의 경우 list 가 null 이 아닌 경우에만 작업을 수행한다. 그럼으로 list 가 null 이 아닌 빈 값이 저장되는 경우 위의 null 체크에 걸리지 않는다.
2. List 가 빈 값인 경우
java.util.List 에서 제공하는 isEmpty() 메소드를 사용하여 체크할 수 있다.
if(list != null && !list.isEmpty()){
// todo
}
오류 방지를 위해 isEmpty() 전에 null 체크를 선행해주어야 한다. null 인 List 에 isEmpty() 메소드를 수행하면 NullPointerException 이 발생하기 때문이다. 그리고 size() 메소드를 호출하는 경우에도 List 가 null 경우 NullPointerException 이 발생하기 때문에 null 체크가 필요하다.
ObjectUtils.isEmpty()
ObjectUtils.isEmpty() 를 사용하면 null 체크와 빈 문자열 체크를 동시에 할 수 있다.
if(ObjectUtils.isEmpty(list)){
// todo
}
NullPointerException 을 방지하기 위해 CollectionUtils.isEmpty() 또는 ObjectUtils.isEmpty() 을 사용하는 것을 추천한다.
ObjectUtils.isNotEmpty()
Null이 아니고 비어있지 않은 경우 isNotEmpty()메소드를 사용하자. 아래 예제코드처럼 2개의 조건을 if절에 태울 필요가 없어진다.
List<UserInfoVo> list = service.selectUserInfo(userId);
if ( list!=null && list.size() > 0) {
//todo
}
if(ObjectUtils.isNotEmpty(list)){
//todo
}