4

可能重复:
为什么java中没有String.Empty?

是否有用于空字符串的 JDK 常量,例如 String.EMPTY,等于“”?我似乎找不到它。我更喜欢使用它而不是“”。

谢谢

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();

更新

isEmpty()如果字符串可以为空,最好使用isNotBlank()Apache Common 的StringUtils类。

于 2012-10-09T23:09:29.340 回答
3

Apache Commons 完全符合您的要求。它有一个名为 StringUtils.EMPTY 的常量。如果你想看看,这里是图书馆的链接: http: //commons.apache.org/lang/

于 2012-10-09T23:10:04.863 回答
2

其他人已经指出了 .isEmpty() 函数,所以我会更进一步。我想知道一个字符串是 Null 还是 Empty 还是 Whitespace(即空格和/或制表符)。所以我写了自己的方法来做到这一点。

//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());
}

要使用这些,你会做类似的事情

String myString = "whatever";

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

祝你好运!

于 2012-10-09T23:20:44.580 回答
-1

我所知道的默认 JDK 中没有任何内容。您可能需要定义自己的常量,或导入具有常量的第三方库。

如果您的意图是检查空字符串,您可以尝试以下操作。

YOUSTRING.isEmpty();

但是请注意, isEmpty 不是 Null 安全的,并且并非在所有版本的 JDK 中。

为了安全起见,请使用"".equals(YOURSTRING);

但是,每次执行此操作时都会将空字符串添加到 HEAP 中。因此最好指向一个public static final 常数,这样堆上就只有一个。

于 2012-10-09T23:09:22.640 回答