
모기업 인터뷰에서 받은 질문인데 순간적으로 다양한 답변이 생각나지 않아 대답을 만족스럽게 하지 못했다. 익숙함에 속아 중요한 걸 놓치지 말자! 아쉬운 마음에 블로그로 기록해본다.
1. 직관적인 방법
직접 == 연산으로 비교하는 방법이다. 가장 떠올리기 쉬운 방법!
String str = null;
if (str != null) {
// 문자열이 null이 아닌 경우
} else {
// 문자열이 null인 경우
}
2. equals()
Objects 클래스의 equals 메서드를 사용하여 null 체크하는 방법
String str = null;
if (Objects.equals(str, null)) {
// 문자열이 null인 경우
} else {
// 문자열이 null이 아닌 경우
}
이때 주의할 점은 문자열이 null인 경우에 str.equals(null)을 호출하면 NullPointerException이 발생할 수 있다.
3. isEmpty()와 isBlank()
String str = null;
if (StringUtils.isEmpty(str)) {
// 문자열이 null인 경우에
} else {
// 문자열이 null이 아닌 경우에
}
if (StringUtils.isBlank(str)) {
// 문자열이 null인 경우에
} else {
// 문자열이 null이 아닌 경우에
}
4. Optional을 사용
String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
if (optionalStr.isPresent()) {
// 문자열이 null이 아닌 경우에
} else {
// 문자열이 null인 경우에
}
**참고
isEmpty()와 isBlank()의 차이를 알아보고 가자!
두 메서드는 문자열이 비어있는지 여부를 확인하는 데 사용됩니다.
1. isEmpty() 메서드:
- `isEmpty()` 메서드는 문자열의 길이가 0인지를 확인. 즉, 문자열이 비어 있는지를 확인.
- 공백 문자열("")은 `isEmpty()`가 true를 반환합니다.
- 예시:
String str = "";
boolean empty = str.isEmpty(); // true
2. isBlank() 메서드:
- `isBlank()` 메서드는 문자열이 비어있거나, 공백 문자열("") 또는 공백 문자(whitespace)만 포함하고 있는지 확인
- 공백 문자는 공백(' '), 탭('\t'), 개행('\n'), 캐리지 리턴('\r')과 같은 문자
- 예시:
String str = " ";
boolean blank = str.isBlank(); // true
- `isBlank()`는 Java 11부터 추가되었습니다.
따라서, `isEmpty()`는 문자열의 길이가 0인지를 확인하고, `isBlank()`는 문자열이 비어있거나 공백 문자열 또는 공백 문자로만 이루어져 있는지를 확인합니다. 필요에 따라 적절한 메서드를 선택하여 사용하시면 됩니다.

모기업 인터뷰에서 받은 질문인데 순간적으로 다양한 답변이 생각나지 않아 대답을 만족스럽게 하지 못했다. 익숙함에 속아 중요한 걸 놓치지 말자! 아쉬운 마음에 블로그로 기록해본다.
1. 직관적인 방법
직접 == 연산으로 비교하는 방법이다. 가장 떠올리기 쉬운 방법!
String str = null;
if (str != null) {
// 문자열이 null이 아닌 경우
} else {
// 문자열이 null인 경우
}
2. equals()
Objects 클래스의 equals 메서드를 사용하여 null 체크하는 방법
String str = null;
if (Objects.equals(str, null)) {
// 문자열이 null인 경우
} else {
// 문자열이 null이 아닌 경우
}
이때 주의할 점은 문자열이 null인 경우에 str.equals(null)을 호출하면 NullPointerException이 발생할 수 있다.
3. isEmpty()와 isBlank()
String str = null;
if (StringUtils.isEmpty(str)) {
// 문자열이 null인 경우에
} else {
// 문자열이 null이 아닌 경우에
}
if (StringUtils.isBlank(str)) {
// 문자열이 null인 경우에
} else {
// 문자열이 null이 아닌 경우에
}
4. Optional을 사용
String str = null;
Optional<String> optionalStr = Optional.ofNullable(str);
if (optionalStr.isPresent()) {
// 문자열이 null이 아닌 경우에
} else {
// 문자열이 null인 경우에
}
**참고
isEmpty()와 isBlank()의 차이를 알아보고 가자!
두 메서드는 문자열이 비어있는지 여부를 확인하는 데 사용됩니다.
1. isEmpty() 메서드:
- `isEmpty()` 메서드는 문자열의 길이가 0인지를 확인. 즉, 문자열이 비어 있는지를 확인.
- 공백 문자열("")은 `isEmpty()`가 true를 반환합니다.
- 예시:
String str = "";
boolean empty = str.isEmpty(); // true
2. isBlank() 메서드:
- `isBlank()` 메서드는 문자열이 비어있거나, 공백 문자열("") 또는 공백 문자(whitespace)만 포함하고 있는지 확인
- 공백 문자는 공백(' '), 탭('\t'), 개행('\n'), 캐리지 리턴('\r')과 같은 문자
- 예시:
String str = " ";
boolean blank = str.isBlank(); // true
- `isBlank()`는 Java 11부터 추가되었습니다.
따라서, `isEmpty()`는 문자열의 길이가 0인지를 확인하고, `isBlank()`는 문자열이 비어있거나 공백 문자열 또는 공백 문자로만 이루어져 있는지를 확인합니다. 필요에 따라 적절한 메서드를 선택하여 사용하시면 됩니다.