Java null または空文字列かどうかをチェックする方法 - クラス String ホームページ制作 | 墨田区

Java null または空文字列かどうかをチェックする方法 - クラス String

JavaでStringがnullまたは空文字列かどうかをチェックする方法の紹介です。

Java null または空文字列かどうかをチェックする方法

Javaに限らず、nullといえば、値の定義がない状態のこと。Javaではnullの変数に対して参照しようとすると「NullPointerException」が発生します。

予期せぬ NullPointerException の発生はアプリケーションの停止を招きます。事前にnullチェックをして回避しましょう。

値の定義がない状態(null)と、値がない状態(空文字列)は同じではありません。nullは参照できませんが、空文字列は参照できます。間違えやすいので注意が必要ですが、アプリケーションを作る上では、変数に何か値があるのかないのかを知りたいだけなので、ここでは一緒にチェックしてしまうことにします。

ここでは JavaでStringがnullまたは空文字列かどうかをチェックする方法 を紹介します。

スポンサーリンク


String が null または空文字列かどうかをチェックする方法

では、具体的に Java で String が null または空文字列かどうかをチェックするコードを紹介します。

以下のメソッドでは、String が null または空文字列の場合 true を返します。

/**
 * 指定された String が null または空文字列かどうかを返します。
 *
 * @param value チェックする String
 * @return null または空文字列かどうか。null または空文字列なら true 、それ以外なら false 。
 */
public static boolean isEmpty(String value) {
  if ( value == null || value.length() == 0 )
    return true;
  else
    return false;
}

以下のテストを実行すると・・・

System.out.println(StringUtils.isEmpty(null));
System.out.println(StringUtils.isEmpty("saka-en"));
System.out.println(StringUtils.isEmpty(""));

結果はこうなります。

true
false
true

逆に、以下のメソッドでは、String に null または空文字列以外の値がある場合 true を返します。

/**
 * 指定された String に文字列があるかどうかを返します。
 *
 * @param value 文字列があるかどうかをチェックする String
 * @return 文字列があるかどうか。null または空文字以外なら true 、null または空文字列なら false 。
 */
public static boolean isNotEmpty(String value) {
  if ( value != null && value.length() > 0 )
    return true;
  else
    return false;
} 

以下のテストを実行すると・・・

System.out.println(StringUtils.isNotEmpty(null));
System.out.println(StringUtils.isNotEmpty("saka-en"));
System.out.println(StringUtils.isNotEmpty(""));

結果はこうなります。

false
true
false

まとめ

JavaでStringがnullまたは空文字列かどうかをチェックする方法を紹介しました。

空文字のチェックだけならStringのisEmptyメソッドを使えばいいけど、nullだった場合にはNullPointerExceptionになるんで注意が必要です。

これはエラーになる。

String test = null;
  if ( test.isEmpty() )

これはエラーにならない。

String test = "";
if ( test.isEmpty() )

org.apache.commons.lang3.StringUtilsをインポートして、StringUtils.isEmpty()メソッドを使う方法もありますが、ここで紹介したコードを使うなら不要かな。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。

え?まさか、フォローするんじゃ・・・。やめておきなされ。

おすすめコンテンツ

コメント - Thank you for the comment.

  1. ねこそぎ

    2014/01/17 20:38

     

    boolean isEmpty(String value){
    return value == null || value.length() == 0;
    }

    boolean noEmpty(String str){
    return !isEmpty(str);
    }
    でいいのでは?

    返信

     
    • サカエン

      2014/01/20 21:28

       

      確かにそうですね。鋭いコメントありがとうございます。

      返信

       

コメントを残す

コメント(必須)

お名前 (必須)
メールアドレス
(アドレスは公開されません)

Trackback URL