【Java】nullと空白文字を1つでまとめて判定できるメソッドはあるの?

こんにちは。ゆうせいです。
文字列のチェックをしていると、よくあるのがこんなパターン:
null
も- 空文字(
""
)も - 空白文字(
" "
や"\t"
、\n
など)も
全部ひとまとめにして「空っぽ」と判定したい!
そんなとき、条件文をいくつも書かずに、スマートにチェックできる方法があればいいですよね。
結論から言うと、Java標準には「nullと空白を一発で判定できるメソッド」は存在しません。
ですが、ライブラリを使えば、1つのメソッドで簡単に実現できます!
結論:Apache Commons Lang の StringUtils.isBlank()
を使おう!
import org.apache.commons.lang3.StringUtils;
StringUtils.isBlank(str)
この1行で、
null
- 空文字(
""
) - 空白文字だけの文字列(
" "
,"\t"
,"\n"
など)
すべてを true と判定してくれます!
判定結果のまとめ
値 | StringUtils.isBlank(str) の結果 |
---|---|
null | true |
"" | true |
" " | true |
"\t\n" | true |
"abc" | false |
これ、めちゃくちゃ便利です!
Java標準だけで同じことをやりたい場合
標準機能で同じことをやるなら、ちょっと冗長になりますが、こう書けます:
if (str == null || str.trim().isEmpty()) {
// 空または空白またはnull
}
trim()
は前後の空白文字を除去- その上で
isEmpty()
を使って「残っている文字があるか」を判定します
注意:
これは 中間に空白がある場合(例:" あ い ") には false になるので、完全な空白だけを空としたい場合には適しています。
Apache Commons Lang を使うには?
Maven の場合:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version> <!-- 最新バージョンは確認してね -->
</dependency>
Gradle の場合:
implementation 'org.apache.commons:commons-lang3:3.12.0'
まとめ
方法 | null判定 | 空文字判定 | 空白文字判定 | 一発でOK? |
---|---|---|---|---|
`str == null | str.isEmpty()` | ○ | ○ | |
`str == null | str.trim().isEmpty()` | ○ | ○ | |
StringUtils.isBlank(str) (Apache Commons) | ○ | ○ | ○ | ◎ ✅ |
次のステップ:文字列処理をもっと極めよう
これが理解できたら、次はこうした内容にもチャレンジしてみましょう!
StringUtils.isNotBlank()
の使い方(true/falseを逆転)- Java 11の
isBlank()
の活用と注意点 - 空白除去:
trim()
vsstrip()
(Unicode対応の違い) - null安全設計とOptionalの活用方法
「文字列はシステムの入力口」
つまり、ユーザーとの最初の接点です。正確なチェックをすることで、より堅牢なアプリケーションが作れるようになりますよ!
もっと知りたいことがあれば、どんどん聞いてくださいね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。