Java에서 빈 문자열 또는 빈 문자열 확인

1. 소개

이 자습서에서는 Java에서 빈 문자열 또는 빈 문자열을 확인하는 몇 가지 방법을 살펴 봅니다. 우리는 몇 가지 라이브러리뿐만 아니라 일부 모국어 접근 방식을 가지고 있습니다.

2. 비어 있음 vs. 비어 있음

물론 문자열이 비어 있거나 비어있는 경우를 아는 것은 매우 일반적이지만 정의와 동일한 페이지에 있는지 확인합시다.

우리는 문자열로 간주 비어 가 하나 인 경우 널 (null) 또는없이 문자열 어떤 길이. 문자열이 공백으로 만 구성되어 있으면이를 blank 라고합니다 .

Java의 경우 공백은 공백, 탭 등과 같은 문자입니다. 예를 들어 Character.isWhitespace 를 살펴보십시오 .

3. 빈 문자열

3.1. Java 6 이상 사용

적어도 Java 6을 사용하는 경우 문자열 을 확인하는 가장 간단한 방법 은 String # isEmpty입니다 .

boolean isEmptyString(String string) { return string.isEmpty(); }

null-safe로 만들려면 추가 검사를 추가해야합니다.

boolean isEmptyString(String string)  string.isEmpty(); 

3.2. Java 5 이하

String # isEmpty 는 Java 6에서 도입되었습니다. Java 5 이하의 경우 대신 String # length 를 사용할 수 있습니다 .

boolean isEmptyString(String string)  return string == null 

사실, String # isEmptyString # length 의 바로 가기 일뿐 입니다.

4. 빈 문자열

String # isEmptyString # length 모두 문자열 을 확인하는 데 사용할 수 있습니다 .

문자열 도 감지 하려면 String # trim을 사용하여이를 수행 할 수 있습니다 . 검사를 수행하기 전에 모든 선행 및 후행 공백제거합니다.

boolean isBlankString(String string)  string.trim().isEmpty(); 

정확하게 말하면, String # trim 은 U + 0020 이하의 유니 코드 코드를 가진 모든 선행 및 후행 문자를 제거합니다.

또한 String 은 변경할 수 없으므로 trim 을 호출 해도 실제로 기본 문자열이 변경되지는 않습니다.

5. 빈 검증

문자열 을 확인하는 또 다른 방법 은 정규식입니다. 예를 들어 Java Bean 유효성 검사를 사용하면 편리합니다.

@Pattern(regexp = "\\A(?!\\s*\\Z).+") String someString;

주어진 정규식은 비어 있거나 빈 문자열이 유효성을 검사하지 않도록합니다.

6. Apache Commons 사용

종속성을 추가해도 괜찮다면 Apache Commons Lang을 사용할 수 있습니다. 여기에는 Java 용 도우미가 많이 있습니다.

Maven을 사용하는 경우 pom에 commons-lang3 종속성을 추가해야합니다 .

 org.apache.commons commons-lang3 

무엇보다도 이것은 우리에게 StringUtils를 제공합니다 .

이 클래스는 isEmpty , isBlank 등과 같은 메소드와 함께 제공 됩니다.

StringUtils.isBlank(string)

이 호출은 자체 isBlankString 메서드 와 동일 합니다. null로부터 안전하며 공백도 확인합니다.

7. 구아바와 함께

특정 문자열 관련 유틸리티를 제공하는 또 다른 잘 알려진 라이브러리는 Google의 Guava입니다. 버전 23.1부터 Guava에는 androidjre 의 두 가지 버전이 있습니다 . Android 버전은 Android 및 Java 7을 대상으로하는 반면 JRE 버전은 Java 8을 대상으로합니다.

Android를 대상으로하지 않는 경우 pom에 JRE 맛을 추가하면됩니다.

 com.google.guava guava 28.0-jre 

Guavas Strings 클래스는 Strings.isNullOrEmpty 메소드와 함께 제공됩니다 .

Strings.isNullOrEmpty(string)

주어진 문자열이 null인지 비어 있는지 확인하지만 공백 전용 문자열은 확인하지 않습니다 .

8. 결론

문자열이 비어 있는지 여부를 확인하는 방법에는 여러 가지가 있습니다. 종종 우리는 문자열이 공백인지 확인하려고합니다. 즉, 공백 문자로만 구성되어 있음을 의미합니다.

가장 편리한 방법은 StringUtils.isBlank 와 같은 도우미를 제공하는 Apache Commons Lang을 사용하는 것 입니다. 일반 Java를 고수하려면 String # isEmpty 또는 String # length 와 함께 String # trim 조합을 사용할 수 있습니다 . Bean Validation의 경우 정규식을 대신 사용할 수 있습니다.

GitHub에서 이러한 모든 샘플을 확인하십시오.