1. 空文字とNULLの両方をチェック
- StringUtilsクラスのisEmptyメソッドを使用する
:null または空文字(長さが0)の場合に true を返す
import org.apache.commons.lang3.StringUtils;
public class StringCheck {
public static void main(String[] args) {
String str = null; // ここに対象の文字列をセット
if (StringUtils.isEmpty(str)) {
System.out.println("String is null or empty");
} else {
System.out.println("String is not null and not empty");
}
}
}
実行結果:
String is null or empty
2. 空文字のみ判定
- String クラスの
isEmpty()
メソッド - Stringクラスの
equals()
メソッド
:文字列が空文字(長さが0)であるなら true を返します。
空文字判定
import org.apache.commons.lang3.StringUtils;
public class StringCheck {
public static void main(String[] args) {
String str = ""; // ここに対象の文字列をセット
if (str.isEmpty()) {
System.out.println("String is empty");
} else {
System.out.println("String is not empty");
}
if (str.equals("")) {
System.out.println("String is empty");
} else {
System.out.println("String is not empty");
}
}
}
実行結果
String is empty
String is empty
※注意点
null が格納された String 型の変数に対して isEmpty()
、equals()
を呼び出すと、NullPointerException が発生する。
そのため、 NULLでないことが確実でない限りは、空チェックの前にNULLチェックも入れること。
NULLチェックを手前で行う
public class StringCheck {
public static void main(String[] args) {
String str = ""; // ここに対象の文字列をセット
if (str != null && str.isEmpty()) {
System.out.println("String is empty");
} else if (str == null) {
System.out.println("String is null");
} else {
System.out.println("String is not empty");
}
}
}
実行結果:
String is empty