Java null または空文字列かどうかをチェックする方法 - クラス String
JavaでStringが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()メソッドを使う方法もありますが、ここで紹介したコードを使うなら不要かな。
おつかれさまでした。