String .isBlank() vs .isEmpty()
- 자바를 접하면서 여러 특징들을 접하는중이다.
- 문자열이 비어있나 확인할 때 두개의 메소드가 있는걸 확인했다.
.isBlank()
StringUtils.isBlank(null)
StringUtils.isBlank("")
StringUtils.isBlank(" ")
StringUtils.isBlank("bob")
StringUtils.isBlank(" bob ")
- 문자열이
null
""
" "
(여백)를 포함하고 있으면 true
를 반환한다.
.isEmpty()
StringUtils.isEmpty(null)
StringUtils.isEmpty("")
StringUtils.isEmpty(" ")
StringUtils.isEmpty("bob")
StringUtils.isEmpty(" bob ")
- 문자열이
null
""
를 포함하고 있으면 true
를 반환한다.
차이점
references
.equals()
- 자바에서 문자열에서
==
비교를 하려면 ==
연산자를 사용하는게 아닌 .equals()
메소드를 사용해야 한다.
==
연산자는 대상의 주소값을 비교하기 때문에 두 대상의 문자열 값이 같아도 두개는 다른 객체이다.
- 이럴경우 아래와 같은 방법을 사용하면 해결할 수 있다.
String statusCheck = "abc";
if("abc".equals(statusCheck)) {
}
!=
비교는 느낌표를 붙혀서 아래와 같이 사용할 수 있다.
String statusCheck = "abc";
if(!"abc".equals(statusCheck)) {
}
NullPointerException
statusCheck.equals("abc")
로 안하고 "abc".equals(statusCheck)
로 한 이유:
- 이렇게 할 경우
statusCheck
가 null
일 경우 NullPointerException
를 피할수 있다.
references