IT/기타

Java에서 String의 null 값 체크 방법

IT 블로거 2025. 2. 14. 06:36
300x250

Java에서 문자열이 null인지 확인하는 것은 매우 중요합니다. null 값 체크를 제대로 하지 않으면 NullPointerException이 발생하여 프로그램이 비정상 종료될 수 있습니다.

1. 기본적인 null 체크

String str = null;

if (str == null) {
    System.out.println("str은 null입니다.");
} else {
    System.out.println("str은 null이 아닙니다.");
}
  • str == null : str이 null인지 확인합니다.
  • str != null : str이 null이 아닌지 확인합니다

2. null 또는 빈 문자열(empty) 체크

  • 문자열이 null이거나 길이가 0인지 확인하려면 다음과 같이 조건문을 사용합니다.
String str = "";

if (str == null || str.isEmpty()) {
    System.out.println("str은 null이거나 빈 문자열입니다.");
} else {
    System.out.println("str은 내용이 있는 문자열입니다.");
}

 

  • str.isEmpty(): str의 길이가 0인지 확인합니다.

주의 : str.isEmpty()를 호출하기 전에 str이 null인지 먼저 확인해야 합니다. 그렇지 않으면 NullPointerException이 발생합니다.


3. null 또는 공백 문자열(blank) 체크
문자열이 null이거나 공백으로만 이루어져 있는지 확인하려면 trim() 메서드나 Apache Commons Lang의 StringUtils를 사용할 수 있습니다.


방법 1: trim() 메서드 사용

String str = "   ";

if (str == null || str.trim().isEmpty()) {
    System.out.println("str은 null이거나 공백 문자열입니다.");
} else {
    System.out.println("str은 내용이 있는 문자열입니다.");
}

 

  • str.trim(): 문자열 양쪽의 공백을 제거합니다.
  • str.trim().isEmpty(): 공백을 제거한 후 문자열의 길이가 0인지 확인합니다.

방법 2: Apache Commons Lang의 StringUtils 사용

import org.apache.commons.lang3.StringUtils;

String str = "   ";

if (StringUtils.isBlank(str)) {
    System.out.println("str은 null이거나 공백 문자열입니다.");
} else {
    System.out.println("str은 내용이 있는 문자열입니다.");
}
  • StringUtils.isBlank(str): str이 null이거나 길이가 0이거나 공백으로만 이루어져 있는지 확인합니다.

참고: Apache Commons Lang 라이브러리를 사용하려면 프로젝트에 해당 라이브러리를 추가해야 합니다.

4. Objects 클래스 사용 (Java 7 이상)

import java.util.Objects;

String str = null;

if (Objects.isNull(str)) {
    System.out.println("str은 null입니다.");
} else {
    System.out.println("str은 null이 아닙니다.");
}
  • Objects.isNull(str): str이 null인지 확인합니다.
  • Objects.nonNull(str): str이 null이 아닌지 확인합니다.

5. Optional 클래스 사용 (Java 8 이상)

  • Optional 클래스를 사용하면 null 처리를 더욱 안전하게 할 수 있습니다.
import java.util.Optional;

String str = null;

Optional<String> optionalStr = Optional.ofNullable(str);

if (optionalStr.isPresent()) {
    System.out.println("str은 null이 아닙니다.");
} else {
    System.out.println("str은 null입니다.");
}

 

 

  • Optional.ofNullable(str): str이 null이면 빈 Optional 객체를 반환합니다.
  • optionalStr.isPresent(): 값이 존재하는지 확인합니다.

요약 및 주의사항

  • null 체크 순서: && 또는 || 연산자를 사용할 때 null 체크를 먼저 해야 합니다.
if (str != null && str.isEmpty()) {
    // 안전하게 str.isEmpty() 호출 가능
}

 

  • 예외 처리: null 체크를 하지 않고 메서드를 호출하면 NullPointerException이 발생할 수 있으므로 항상 주의합니다.
  • 라이브러리 활용: Apache Commons Lang 등의 라이브러리를 사용하면 편의성과 가독성을 높일 수 있습니다.

결론적으로, Java에서 문자열의 null 값을 체크하는 방법은 다양하며, 상황에 맞는 방법을 선택하여 사용하면 됩니다. null 체크를 철저히 하여 안전하고 견고한 코드를 작성하시기 바랍니다.

300x250