본문 바로가기
Java

isEmpty()와 isBlank()의 차이

by 루에 2019. 9. 9.
반응형

둘은 언뜻 같아보이지만 다르다. 결론부터 말하면 isBlank는 공백을 true로 판단하고 Empty는 공백도 false로 판단한다.

 

값(value) isEmpty() isBlank()
null true true
"" true true
" " false true
"sdnfi" false false
" sdnfi " false false

 

둘 사이의 동작방식 차이는 무얼까? isEmpty를 살펴보자.

public inline fun CharSequence?.isNullOrEmpty(): Boolean {
    contract {
        returns(false) implies (this@isNullOrEmpty != null)
    }

    return this == null || this.length == 0
}

 

null 혹은 문자열의 길이가 0인지를 체크한다. isBlank는 찾아보지 않았지만 반대의 로직으로 동작할 것이다.(거기에 추가적으로 들어갈 순 있겠지만...^^)

반응형

댓글