둘다 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 검사를 별도로 진행해야 한다.