Java프로그래밍

[JAVA] ObjectUtils 클래스를  사용하여 null 값 체크하는 예제(ObjectUtils.isEmpty(),ObjectUtils.isNotEmpty())

ObjectUtils.class는 org.apache.commons.lang3 패키지에 포함되어 있는데 NullPointerException 예외 처리에 유용하다.

ObjectUtils

ObectUtils는 StringUtils와 달리 모든 Object에 대응 가능하다는 이점이 있다.


객체 또는 문자열에서 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

}

error: Content is protected !!