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