반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- Java
- 자바스크립트
- json
- Array
- table
- ArrayList
- html
- IntelliJ
- Visual Studio Code
- javascript
- 이클립스
- input
- 배열
- Eclipse
- 이탈리아
- windows
- 자바
- 인텔리제이
- Maven
- 정규식
- CSS
- js
- vscode
- date
- 문자열
- 테이블
- CMD
- list
- Button
- string
Archives
- Today
- Total
어제 오늘 내일
[Java String] isEmpty() vs isBlank() 차이 정리 본문
문자열이 비어 있는지 확인할 때 isEmpty()
와 isBlank()
는 자주 비교되는 메서드입니다.
둘 다 비슷해 보이지만, 동작 방식과 적용 범위가 다릅니다.
1. 동작 차이
메서드 | 조건 | 예시 (" " ) |
결과 |
---|---|---|---|
isEmpty() |
길이가 0이면 true |
" " (길이 3) |
false |
isBlank() |
비었거나, 공백 문자만 있으면 true |
" " (공백뿐) |
true |
String s1 = "";
String s2 = " ";
System.out.println(s1.isEmpty()); // true
System.out.println(s1.isBlank()); // true
System.out.println(s2.isEmpty()); // false
System.out.println(s2.isBlank()); // true
👉 isEmpty()
는 길이만 보고, isBlank()
는 공백 문자까지 판단합니다.
2. null 처리
둘 다 null을 안전하게 처리하지 못합니다.
즉, 문자열이 null이라면 호출 시 NullPointerException
이 발생합니다.
String s = null;
// 안전한 사용
if (s != null && s.isBlank()) {
System.out.println("비어 있음");
}
👉 null 가능성이 있는 경우에는 반드시 먼저 null 체크 필요합니다.
3. 사용 시기
isEmpty()
→ 문자열이 완전히 비었는지 (""
) 확인할 때isBlank()
→" "
,"\n"
,"\t"
같은 공백만 있는 경우도 허용해야 할 때
예를 들어:
- 비밀번호 입력란 검증 →
isBlank()
- API 응답이 정확히 빈 문자열인지 판정 →
isEmpty()
4. 정리
isEmpty()
→ 길이가 0인지 확인isBlank()
→ 비었거나 공백만 있으면 true (Java 11+)- 둘 다 null은 처리 못함 → null 체크 필요
- 입력 검증 시에는
isBlank()
가 더 유용
👉 isEmpty()
는 단순히 비어 있는지만 확인, isBlank()
는 공백만 있어도 비어 있다고 본다.
반응형
'IT > Java' 카테고리의 다른 글
[Java String] startsWith(), endsWith() – 문자열 시작과 끝 검사하기 (0) | 2025.09.17 |
---|---|
[Java String] String.isBlank() – 공백만 있어도 비었다고 판단하기 (0) | 2025.09.16 |
[Java String] String.isEmpty() – 문자열이 비어있는지 확인하기 (0) | 2025.09.16 |
[Java String] String.trim() – 문자열 앞뒤 공백 제거하기 (0) | 2025.09.15 |
[Java String] String.lastIndexOf() – 문자열 뒤에서 검색하기 (0) | 2025.09.15 |
Comments