【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) の結果
nulltrue
""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 == nullstr.isEmpty()`
`str == nullstr.trim().isEmpty()`
StringUtils.isBlank(str)(Apache Commons)◎ ✅

次のステップ:文字列処理をもっと極めよう

これが理解できたら、次はこうした内容にもチャレンジしてみましょう!

  • StringUtils.isNotBlank() の使い方(true/falseを逆転)
  • Java 11の isBlank() の活用と注意点
  • 空白除去:trim() vs strip()(Unicode対応の違い)
  • null安全設計とOptionalの活用方法

「文字列はシステムの入力口」
つまり、ユーザーとの最初の接点です。正確なチェックをすることで、より堅牢なアプリケーションが作れるようになりますよ!

もっと知りたいことがあれば、どんどん聞いてくださいね!


セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

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