StringUtils.isBlank() と String.isEmpty() 質問する

StringUtils.isBlank() と String.isEmpty() 質問する

次のようなコードに遭遇しました。

String foo = getvalue("foo");
if (StringUtils.isBlank(foo))
    doStuff();
else
    doOtherStuff();

これは機能的には次のものと同等であると思われます。

String foo = getvalue("foo");
if (foo.isEmpty())
    doStuff();
else
    doOtherStuff();

org.apache.commons.lang3.StringUtils.isBlank2つの(とjava.lang.String.isEmpty)の間には違いがありますか?

ベストアンサー1

StringUtils.isBlank()文字列の各文字が空白文字であるかどうか (または文字列が空であるか null であるか) をチェックします。これは、文字列が空であるかどうかをチェックするだけとはまったく異なります。

リンクされたドキュメントから:

文字列が空白、空 ("")、または null であるかどうかを確認します。

 StringUtils.isBlank(null)      = true
 StringUtils.isBlank("")        = true  
 StringUtils.isBlank(" ")       = true  
 StringUtils.isBlank("bob")     = false  
 StringUtils.isBlank("  bob  ") = false

比較のためにStringUtils.isEmpty :

 StringUtils.isEmpty(null)      = true
 StringUtils.isEmpty("")        = true  
 StringUtils.isEmpty(" ")       = false  
 StringUtils.isEmpty("bob")     = false  
 StringUtils.isEmpty("  bob  ") = false

警告: java.lang.Stringでは、 .isBlank() とjava.lang.Stringtrue .isEmpty() は、を返さないことを除いて同じように動作しますnull

java.lang.String.isBlank()(Java 11 以降)

java.lang.String.isEmpty()

おすすめ記事