使用することに利点はありますか
_StringUtils.isBlank(str)
_
apachecommons-langから。
vs
_Strings.isNullOrEmpty(String string)
_
グーグルグアバから?
Javaプロジェクトでの使用に続いて、それらの何百ものケースを置き換えたい:
_if(str == null || str.isEmpty())
_
Guavaの isNullOrEmpty は、私のプロジェクトでの上記の使用法の直接の代替品のようです。
しかし、私のS.Oの読みに基づいて、Apacheの isBlank メソッドを使用する人が増えているようです。質問。
唯一の違いは、StringUtils.isBlank(str)
は、文字列がnullか空かをチェックするだけでなく、空白もチェックすることです。
通常、文字列の空白をチェックすることをお勧めしますか、それともGuavaのより単純なチェックとは異なる結果をコードに生成する可能性がありますか?
Guavaを使用してisBlankの動作を複製する場合は、代わりに次の方法を使用します。
Strings.nullToEmpty(str).trim().isEmpty()
人間からの入力を受け入れる必要がある場合、特定のアプリケーションで意味がある場合は、入力するテキストから先頭と末尾の空白を許容して削除する必要があります。
とは言うものの、isBlank
の使用は中途半端です。さらに処理する前に、文字列をtrim
する必要もあります。したがって、isNullOrEmpty
で確認する前に、s = trim(s);
を使用することをお勧めします。
StringUtils.isBlank(str)
はStrings.isNullOrEmpty(String string)
とは大きく異なります
最初のコードサンプルは、文字列が空かどうかのみをチェックし、空白も含み、
true
を返します。
_StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
_
ここで、as
Strings.isNullOrEmpty(String string)
は、指定された文字列がnullまたは空の文字列の場合、true
を返します。
isBlank
は信じられないほど過大評価されています。入力フィールドから直接ユーザーテキストを読み取るUIコードは、空白を完全に削除することができ、それで心配する必要がなくなります。