Java
문자열의 값이 null 또는 빈 문자열(empty) 확인 방법
Null 체크
String str = null;
if (str == null) {
System.out.println("문자열이 null입니다.");
}
빈 문자열(empty) 체크
String str = "";
if (str.length() == 0) {
System.out.println("문자열이 빈 문자열입니다.");
}
null 또는 빈 문자열(empty) 체크
String str = null;
if (str == null || str.length() == 0) {
System.out.println("문자열이 null 또는 빈 문자열입니다.");
}
isBlank() 메소드를 사용한 빈 문자열(empty) 체크
Java 11 버전부터는 문자열이 빈 문자열(empty) 또는 공백 문자열(whitespace)인지 확인하는 isBlank() 메소드를 제공합니다.
String str = "";
if (str.isBlank()) {
System.out.println("문자열이 빈 문자열이거나 공백 문자열입니다.");
}
위의 방법들 중 어떤 것을 선택하느냐는 상황에 따라 다릅니다.
예를 들어, 문자열이 null일 경우에만 처리해야 하는 경우에는 null 체크를 사용하면 되고, 빈 문자열(empty)이나 공백 문자열(whitespace)도 함께 처리해야 하는 경우에는 isBlank() 메소드를 사용하는 것이 좋습니다.
라이브러리 사용
라이브러리를 사용하는 방법도 있습니다.
대표적인 라이브러리로 Apache Commons Lang 라이브러리와 Spring Framework가 제공하는 StringUtils 클래스가 있습니다.
Apache Commons Lang 라이브러리 사용 방법
Apache Commons Lang 라이브러리를 사용하려면 다음과 같이 라이브러리를 추가해야 합니다.
Gradle:
implementation 'org.apache.commons:commons-lang3:3.12.0'
Maven:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
빈 문자열(empty) 체크를 하는 예시 코드는 다음과 같습니다.
import org.apache.commons.lang3.StringUtils;
String str = "";
if (StringUtils.isEmpty(str)) {
System.out.println("문자열이 빈 문자열입니다.");
}
StringUtils.isEmpty() 메소드는 문자열이 null이거나 길이가 0인 경우 true를 반환합니다.
Spring Framework의 StringUtils 클래스 사용 방법
Spring Framework에서 제공하는 StringUtils 클래스를 사용하려면 Spring Framework를 의존성으로 추가해야 합니다.
Gradle:
implementation 'org.springframework:spring-core:5.3.13'
Maven:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.13</version>
</dependency>
빈 문자열(empty) 체크를 하는 예시 코드는 다음과 같습니다.
import org.springframework.util.StringUtils;
String str = "";
if (StringUtils.isEmpty(str)) {
System.out.println("문자열이 빈 문자열입니다.");
}
StringUtils.isEmpty() 메소드는 문자열이 null이거나 길이가 0인 경우 true를 반환합니다.
위의 두 라이브러리는 Java에서 문자열 처리를 할 때 유용하게 사용될 수 있습니다.
하지만 라이브러리를 사용하기 위해 추가적인 의존성을 추가해야 하므로, 프로젝트의 규모와 상황에 따라 선택적으로 사용해야 합니다.
'Java' 카테고리의 다른 글
[SpringBoot] ElasticSearch Log Level 설정하기 (0) | 2023.03.14 |
---|---|
[SpringBoot] json 문자열 받아서 model class 에 맵핑하기 (0) | 2021.10.21 |
[eGovFrame] eGovFramework 3.6 에 RestAPI 테스트 (Jackson 까지) (1) | 2021.08.22 |
[eGovFrame] 전자정부 프레임워크 3.6 설치 및 테스트 실행 (0) | 2021.08.22 |
[SpringBoot] Controller 에서 form-data 여러 파일과 json list string 같이 받기 (Converter) (2) | 2021.08.21 |
댓글