👏

Java:isEmptyとisBlankの違い

2023/12/05に公開

はじめに

普段、Java開発者としての皆はisEmpty/isNotEmpty/isNotBlank/isBlankが知っている方が多いですが、isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlankが知らない方も少なくないかもしれません。それを一緒に探索しましょう。

isEmpty

StringUtils.isEmpty()

文字列が「NULL空文字」かのチェックですが、「空文字」ではなく「スペース」のある場合にisEmpty(" ")=falseとなります。

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

StringUtils.isNotEmpty()

StringUtils.isEmpty()とは逆です。

StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true

StringUtils.isAnyEmpty()

複数の文字列にいずれか「NULL空文字」があれば、trueになります。

StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, "foo") = true
StringUtils.isAnyEmpty("", "bar") = true
StringUtils.isAnyEmpty("bob", "") = true
StringUtils.isAnyEmpty(" bob ", null) = true
StringUtils.isAnyEmpty(" ", "bar") = false
StringUtils.isAnyEmpty("foo", "bar") = false

StringUtils.isNoneEmpty()

StringUtils.isAnyEmpty()とは逆です。複数の文字列に「NULL空文字」がなければ、trueになります。

StringUtils.isNoneEmpty(null) = false
StringUtils.isNoneEmpty(null, "foo") = false
StringUtils.isNoneEmpty("", "bar") = false
StringUtils.isNoneEmpty("bob", "") = false
StringUtils.isNoneEmpty(" bob ", null) = false
StringUtils.isNoneEmpty(" ", "bar") = true
StringUtils.isNoneEmpty("foo", "bar") = true

isBlank

StringUtils.isBlank()

文字列は「NULLスペースまたは空文字」かどうかのチェックです。

StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false

StringUtils.isNotBlank()

StringUtils.isBlank()とは逆です。

StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true

StringUtils.isAnyBlank()

複数の文字列にいずれか「NULLスペースまたは空文字」があれば、trueになります。

StringUtils.isAnyBlank(null) = true
StringUtils.isAnyBlank(null, "foo") = true
StringUtils.isAnyBlank(null, null) = true
StringUtils.isAnyBlank("", "bar") = true
StringUtils.isAnyBlank("bob", "") = true
StringUtils.isAnyBlank(" bob ", null) = true
StringUtils.isAnyBlank(" ", "bar") = true
StringUtils.isAnyBlank("foo", "bar") = false

StringUtils.isNoneBlank()

StringUtils.isAnyBlank()とは逆です。複数の文字列に「NULLスペースまたは空文字」がなければ、trueになります。

StringUtils.isNoneBlank(null) = false
StringUtils.isNoneBlank(null, "foo") = false
StringUtils.isNoneBlank(null, null) = false
StringUtils.isNoneBlank("", "bar") = false
StringUtils.isNoneBlank("bob", "") = false
StringUtils.isNoneBlank(" bob ", null) = false
StringUtils.isNoneBlank(" ", "bar") = false
StringUtils.isNoneBlank("foo", "bar") = true
GitHubで編集を提案

Discussion