文字列がNullでも空でもないかどうかをチェックする 質問する

文字列がNullでも空でもないかどうかをチェックする 質問する

文字列が空でないかどうかをどのように確認すればよいでしょうかnull?

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

ベストアンサー1

どうですか空です()?

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

の部分は必ず&&この順序で使用してください。 の最初の部分が失敗すると、Java は 2 番目の部分の評価を続行しないため、がnull の場合でも&&null ポインター例外が発生しなくなります。str.isEmpty()str

注意してください。これは Java SE 1.6 以降でのみ利用可能です。str.length() == 0以前のバージョンを確認する必要があります。


空白も無視するには:

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

(Java 11 は他の Unicode 空白もテストするようstr.trim().isEmpty()に縮小できるため)str.isBlank()

便利な関数にラップされています:

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

次のように変わります:

if( !empty( str ) )

おすすめ記事