[자바/JAVA] isEmpty와 isBlank 차이 | 빈 문자열, 공백 문자열 확인하기

2026. 9. 24. 16:44·개발지식/Java
반응형

개발하다 보면 문자열이 비어 있는지 확인해야 하는 경우가 있다.

Java에서는 대표적으로

isEmpty()

isBlank()

를 사용할 수 있는데, 둘이 비슷해 보여도 공백을 처리하는 방식에서 차이가 있다.

간단하게 정리해봤다.


isEmpty()

isEmpty()는 문자열의 길이가 0인지 확인한다.

public class Main {
    public static void main(String[] args) {
        String value1 = "";
        String value2 = "   ";
        String value3 = "Hello";

        System.out.println(value1.isEmpty());
        System.out.println(value2.isEmpty());
        System.out.println(value3.isEmpty());
    }
}

실행 결과

isEmpty()

빈 문자열인

""

은 길이가 0이기 때문에 true가 나온다.

하지만

"   "

처럼 공백이 들어 있는 문자열은 길이가 0이 아니기 때문에 false가 나온다.

즉,

isEmpty()는 공백까지 빈 값으로 판단하지 않는다.


isBlank()

isBlank()는 빈 문자열뿐만 아니라
공백으로만 이루어진 문자열도 true로 판단한다.

public class Main {
    public static void main(String[] args) {
        String value1 = "";
        String value2 = "   ";
        String value3 = "Hello";

        System.out.println(value1.isBlank());
        System.out.println(value2.isBlank());
        System.out.println(value3.isBlank());
    }
}

실행 결과

isBlank()

isEmpty()와 가장 큰 차이가 여기다.

""      → true
"   "   → true
"Hello" → false

사용자가 입력한 값이 빈 문자열인지뿐만 아니라
공백만 입력했는지까지 확인하고 싶다면 isBlank()가 편하다.


isEmpty와 isBlank 비교

둘의 차이를 한 번에 보면 아래와 같다.

문자열 isEmpty() isBlank()
"" true true
" " false true
" " false true
"Hello" false false

결국 핵심은

isEmpty() → 문자열 길이가 0인지 확인

isBlank() → 빈 문자열 또는 공백 문자열인지 확인

이라고 보면 된다.


한 번에 비교해보기

실제로 두 메서드를 같이 실행해보면 차이가 더 쉽게 보인다.

public class Main {
    public static void main(String[] args) {
        String empty = "";
        String blank = "   ";
        String text = "Hello";

        System.out.println("=== isEmpty ===");
        System.out.println(empty.isEmpty());
        System.out.println(blank.isEmpty());
        System.out.println(text.isEmpty());

        System.out.println();

        System.out.println("=== isBlank ===");
        System.out.println(empty.isBlank());
        System.out.println(blank.isBlank());
        System.out.println(text.isBlank());
    }
}

실행 결과


null에서는 사용할 수 있을까?

여기서 하나 주의할 점이 있다.

isEmpty()와 isBlank() 모두
문자열이 null인 상태에서 바로 호출하면 에러가 발생한다.

public class Main {
    public static void main(String[] args) {
        String value = null;

        System.out.println(value.isBlank());
    }
}

실행하면

NullPointerException

이 발생한다.

따라서 null이 들어올 가능성이 있다면 먼저 확인해야 한다.

if (value == null || value.isBlank()) {
    System.out.println("빈 값입니다.");
}

이렇게 작성하면

null / 빈 문자열 / 공백 문자열

을 같이 확인할 수 있다.


어떤 걸 사용하면 될까?

단순히

문자열 길이가 0인지 확인

하고 싶다면

value.isEmpty()

공백까지 포함해서

실제로 값이 입력되어 있는지 확인

하고 싶다면

value.isBlank()

를 사용하면 된다.

개인적으로 사용자 입력값을 확인하는 경우에는
공백만 들어오는 경우도 있기 때문에 isBlank()를 사용할 일이 더 많은 것 같다.

단, null 체크는 별도로 해줘야 한다.


정리

isEmpty()

"".isEmpty();      // true
"   ".isEmpty();   // false

isBlank()

"".isBlank();      // true
"   ".isBlank();   // true

가장 큰 차이는 공백 문자열을 어떻게 처리하느냐다.

그리고

null.isBlank()

처럼 null 상태에서는 사용할 수 없기 때문에
null 가능성이 있다면 먼저 확인해야 한다.

반응형

'개발지식 > Java' 카테고리의 다른 글

[자바/JAVA] double을 int로 변환하는 방법 | 캐스팅, Math.round 차이  (0) 2026.09.23
[자바/JAVA] 정적 바인딩 VS 동적 바인딩 (의의, 장/단점)  (0) 2023.09.05
[자바/JAVA] 추상 클래스 VS 인터페이스 (특징, 사용하는 이유, 차이점)  (0) 2023.09.01
[자바/JAVA] final 의미와 사용법  (0) 2023.08.30
[자바/JAVA] 변수의 선언 위치 (클래스 변수, 인스턴스 변수, 지역 변수)  (0) 2023.08.30
'개발지식/Java' 카테고리의 다른 글
  • [자바/JAVA] double을 int로 변환하는 방법 | 캐스팅, Math.round 차이
  • [자바/JAVA] 정적 바인딩 VS 동적 바인딩 (의의, 장/단점)
  • [자바/JAVA] 추상 클래스 VS 인터페이스 (특징, 사용하는 이유, 차이점)
  • [자바/JAVA] final 의미와 사용법
견코
견코
개발로 코딩하기 프로젝트
  • 견코
    개발로 코딩하기
    견코
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 앱개발
      • 개발지식
        • Java
        • Spring
        • Vue
        • CS
        • DB
        • Next.js
      • 잡동사니
        • 개요
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    mariaDB
    MariaDBNULL
    java
    doubleint변환
    빈문자열
    로컬db
    SQL
    localhost
    데이터베이스
    날짜조건
    MariaDBServer
    자바
    DBeaverMariaDB
    오늘날짜조회
    isEmptyisBlank차이
    문자열체크
    MariaDB날짜조회
    null처리
    MariaDB연결
    dbeaver
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
견코
[자바/JAVA] isEmpty와 isBlank 차이 | 빈 문자열, 공백 문자열 확인하기
상단으로

티스토리툴바