자바

[JAVA] isEmpty() 와 isBlank() 차이점

서견 2023. 11. 6. 22:14

 

 

둘다 java.lang.String 클래스에 있다 .

 

차이점

isEmpty()

  • 자바 6 부터 지원
  • 문자열의 길이가 0 인 경우 true 를 반환
String str1 = ""; String str2 = " "; System.out.println(str1.isEmpty()); // 출력: true System.out.println(str2.isEmpty()); // 출력: false

 

isBlank()

  • 자바 11부터 지원
  • 문자열이 비어 있거나, 빈 공백으로만 이루어져 있으면 true를 반환
String str1 = ""; 
String str2 = " "; 
System.out.println(str1.isEmpty()); // 출력: true 
System.out.println(str2.isEmpty()); // 출력: false

isEmpty() 예시 코드

isEmpty() 메소드는 문자열이 비어있는지, 즉 아무런 문자도 포함하고 있지 않은지 확인할 때 사용된다.

예를 들어, 사용자로부터 입력을 받아야 하는 상황에서 사용자가 아무런 입력도 하지 않았는지를 확인하기 위해 isEmpty()를 사용할 수 있다.

String userInput = ""; 
if (userInput.isEmpty()) {     
System.out.println("입력값이 없습니다."); 
} else { 
System.out.println("입력값: " + userInput); }

 

isBlank() 예시 코드

isBlank() 메소드는 문자열이 공백 문자로만 이루어져 있는지 확인할 때 사용된다.

예를 들어, 사용자로부터 문자열 입력을 받아야 하는데, 사용자가 공백 문자만 입력한 경우를 걸러내기 위해 isBlank()를 사용할 수 있다.

String userInput = " "; 
if (userInput.isBlank()) {     
	System.out.println("공백만 입력되었습니다."); 
 }else {
	System.out.println("입력값: " + userInput); 
    }

 

 

 

💡
isEmpty()isBlank() 모두 문자열이 비어있는지를 확인하는 메소드이다. 두 메소드 모두 빈 문자열("")에 대해서는 true를 반환한다. 또한, 두 메소드 모두 문자열에 대한 null 검사를 진행하지 않으므로, 메소드를 호출하기 전에 null 검사를 별도로 진행해야 한다.