4

重複の可能性:
JavaにString.Emptyがないのはなぜですか?

「」に等しいString.EMPTYのような空の文字列のJDK定数はありますか?見つからないようです。「」よりもそれを使用したいです。

ありがとう

4

5 に答える 5

8

いいえ、ありません。しかし、全世界が(まあ、ほとんど)Jakarta Commons-Langを使用しているので、あなたもそうすることができます。使用StringUtils.EMPTYhttp ://commons.apache.org/lang/api-2.6/org/apache/commons/lang/StringUtils.html#EMPTY

于 2012-10-09T23:10:02.010 に答える
4

何が問題なの""ですか?定数のように動作し、文字列プールから取得され、書き込みが非常に短く、。よりもはるかに短くなりString.EMPTYます。

また、文字列が空かどうかをテストする必要がある場合は、次のようにします。

myString.isEmpty();

アップデート

文字列がnullになる可能性がある場合は、 ApacheCommonのStringUtilsクラスのいずれかisEmpty()またはisNotBlank()から使用することをお勧めします。

于 2012-10-09T23:09:29.340 に答える
3

Apache Commonsは、まさにあなたが望むことをします。StringUtils.EMPTYという名前の定数があります。ご覧になりたい場合は、ライブラリへのリンクを次に示します:http: //commons.apache.org/lang/

于 2012-10-09T23:10:04.863 に答える
2

Others have already pointed out the .isEmpty() function, so I'll go one further. I wanted tell if a string is Null or Empty or Whitespace (ie spaces and/or tabs). So I wrote my own method to do it.

//Check to see if a string is null or empty
public static boolean stringIsNullOrEmpty(String s)
{
    return (s == null) || (s.isEmpty());
}

//Check to see if a string is null or empty or whitespace
public static boolean stringIsNullOrWhiteSpace(String s)
{
    return (s == null) || (s.trim().isEmpty());
}

To use these, you would do something like

String myString = "whatever";

if(stringIsNullOrWhiteSpace(myString))
{
    doSomething();
}

Good luck!

于 2012-10-09T23:20:44.580 に答える
-1

私が知っているデフォルトのJDKには何もありません。独自の定数を定義するか、定数を持つサードパーティのライブラリをインポートする必要がある場合があります。

空の文字列をチェックする場合は、次のことを試してください。

YOUSTRING.isEmpty();

ただし、isEmptyはNullセーフではなく、JDKのすべてのバージョンにあるわけではないことに注意してください。

nullセーフにするには、"".equals(YOURSTRING);

ただし、これにより、実行するたびに空の文字列がHEAPに追加されます。したがって、定数を指すのが最善public static final です。これにより、ヒープ上に定数が1つだけ存在するようになります。

于 2012-10-09T23:09:22.640 に答える