1. ホーム
  2. java

[解決済み] 文字列がヌルでなく、空でないかをチェックする

2022-03-19 03:01:56

質問

文字列がヌルでなく、空でないことを確認するにはどうしたらよいですか?

public void doStuff(String str)
{
    if (str != null && str != "**here I want to check the 'str' is empty or not**")
    {
        /* handle empty string */
    }
    /* ... */
}

解決方法は?

についてはどうですか? isEmpty() ?

if(str != null && !str.isEmpty())

の部分を必ず使用してください。 && の最初の部分が、この順番で評価されると、javaは2番目の部分の評価を進めないからです。 && によってヌルポインタの例外が発生しないようにします。 str.isEmpty() もし str が NULL の場合。

Java SE 1.6からしか使えませんので、ご注意を。をチェックする必要があります。 str.length() == 0 を以前のバージョンで使用することができます。


空白文字も無視するように。

if(str != null && !str.trim().isEmpty())

(Java11以降 str.trim().isEmpty() は、以下のように縮小できます。 str.isBlank() これは他のUnicodeの空白もテストします)

便利な関数に包まれています。

public static boolean empty( final String s ) {
  // Null-safe, short-circuit evaluation.
  return s == null || s.trim().isEmpty();
}

になる。

if( !empty( str ) )