Java isEmpty 空文字を確認する(StringUtils)

Javaの文字列が空文字か確認するサンプルです。

確認環境
・Java 8
・Apache Commons Lang 3.12 (Java 8+)

目次

サンプル 空文字を確認する(isEmpty)
  空文字とnullを確認(StringUtilsのisEmpty)
  空文字とnullと半角空白を確認(StringUtilsのisBlank)
  StringUtilsのライブラリを取得する方法

空文字を確認する(isEmpty)

public boolean isEmpty()
  • 文字列が空文字(からもじ)の場合trueを返し、それ以外はfalseを返します。
  • 空文字とは、長さが0の文字列です。
  • 値がnullの場合は、NullPointerExceptionが発生します。
  • Stringクラスのメソッドです。
package test1;
 
public class Test1 {
	public static void main(String[] args) {
		// 空文字のとき
		String a = "";
		if (a.isEmpty()) {
			System.out.println("true"); // trueが出力される
		}
		// 空文字でない
		String b = "あいう えお";
		if (b.isEmpty()) {
			System.out.println("true");
		}else {
			System.out.println("false"); // falseが出力される
		}
		// nullのとき
		String c = null;
		if (c.isEmpty()) { // NullPointerExceptionの例外が発生
			System.out.println("true"); 
		}
	}
}

値がNullの場合は、NullPointerException例外が発生するので注意が必要です。

以下はJava8 API仕様のisEmptyメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#isEmpty--

空文字とnullを確認(StringUtilsのisEmpty)

public static boolean isEmpty(CharSequence cs)
  • StringUtilsクラスは、Apache Commons Langのライブラリです。
  • 文字列が空文字またはnullの場合はtrueを返し、それ以外はfalseを返します。
  • 値がnullの場合でもNullPointerExceptionが発生しません。上記のisEmptyメソッドとの違いです。
package test1;
import org.apache.commons.lang3.StringUtils;

public class Test1 {
	public static void main(String[] args) {
		// 空文字のとき
		String a = "";
		if (StringUtils.isEmpty(a)) {
			System.out.println("true"); // trueが出力される
		}
		// 空文字でない
		String b = "あいう えお";
		if (StringUtils.isEmpty(b)) {
			System.out.println("true");
		}else {
			System.out.println("false"); // falseが出力される
		}
		// nullのとき
		String c = null;
		if (StringUtils.isEmpty(c)) {
			System.out.println("true"); // trueが出力される※違いの箇所
		}
	}
}

2行目は、StringUtilsをimportしています。
StringUtilsクラスのisEmptyメソッドは、値がNullでもNullポインタの例外は発生しません。
trueを返します。

空文字とnullと半角空白を確認(StringUtilsのisBlank)

public static boolean isBlank(final CharSequence cs)
  • StringUtilsクラスは、Apache Commons Langのライブラリです。
  • 文字列が空文字またはnullまたは半角スペースの場合はtrueを返し、それ以外はfalseを返します。半角スペースが上記のisEmptyメソッドと異なります。
  • 値がnullの場合でもNullPointerExceptionが発生しません。
package test1;
import org.apache.commons.lang3.StringUtils;

public class Test1 {
	public static void main(String[] args) {
		// 空文字のとき
		String a = "";
		if (StringUtils.isBlank(a)) {
			System.out.println("true"); // trueが出力される
		}
		// 空文字でない
		String b = "あいう えお";
		if (StringUtils.isBlank(b)) {
			System.out.println("true");
		}else {
			System.out.println("false"); //falseが出力される
		}
		// nullのとき
		String c = null;
		if (StringUtils.isBlank(c)) {
			System.out.println("true"); // trueが出力される※違いの箇所
		}
		// 半角スペースのとき
		String d = " ";
		if (StringUtils.isBlank(d)) {
			System.out.println("true"); // trueが出力される※違いの箇所
		}
	}
}

StringUtilsのライブラリを取得する方法

StringUtilsのライブラリは、Apache Commons Langのダウンロードページにあります。
http://commons.apache.org/proper/commons-lang/download_lang.cgi

上記リンクからzipを取得して展開しjar(例:commons-lang3-3.12.0.jar)をビルドパスに追加します。
Eclipse jarファイルをクラスパスに設定する方法

関連の記事

Java 文字列の値を比較(==ではなくequalsを使用)
Java equalsでnullまたは空文字を比較するサンプル

△上に戻る