isEmpty()는 문자열이 비어있으면 true를 반환하는 메서드이다.
isBlank()는 문자열이 공백이거나 비어있으면 true를 반환하는 메서드이다.
isEmpty()는 Java 1.6에 도입된 메서드이고
isBlank()는 Java 11에 도입된 메서드로 비교적 최신 버전이다.
isEmpty()를 사용하면 문자열이 공백일 때는 false가 반환되니
isBlank()로 공백과 비어있는지 둘다 확인해주는 것이 더 좋다.
| 입력값 (String value) | isEmpty() | isBlank() | 설명 |
| "" (빈 문자열) | true | true | 둘 다 비어있다고 판단합니다. |
| " " (스페이스) | false | true | isEmpty는 길이가 1이라 false, isBlank는 공백이라 true. |
| "\\t\\n" (탭, 엔터) | false | true | 특수 공백 문자도 isBlank는 비어있는 것으로 간주합니다. |
| " A " (문자 포함) | false | false | 문자가 하나라도 있으면 둘 다 false입니다. |
| null | 에러 발생 | 에러 발생 | 두 메서드 모두 NullPointerException을 발생시킵니다. |
우선 null이 아닌지 먼저 체크해야 NullPointerException 이 발생하지 않으니 먼저 체크하자.
private void validateNameNotBlank(String name) {
if (name == null || name.isBlank()) {
throw new IllegalArgumentException(ErrorMessages.BLANK_NAME.getMessage());
}
}
메서드명은 validateNameNotBlank 그대로 해도 된다. NotBlank라는 말이 유효성 검증이기 때문에 null을 함께 검증해도된다.
'우테코 프리코스 > 프리코스 오픈미션' 카테고리의 다른 글
| UnsupportedOperationException란? (0) | 2025.11.23 |
|---|---|
| assertJ를 사용하기 위한 의존성 추가 (0) | 2025.11.23 |
| 생성자의 파라미터가 너무 많아서 가독성이 안좋을 때는 어떡할까? (0) | 2025.11.23 |
| 값을 랜덤하게 가져오기 위해 내가 사용한 방법 (0) | 2025.11.23 |
| H2 연동 과정 (0) | 2025.11.23 |