JDK常量为空String

时间:2012-10-09 23:07:04

标签: java

  

可能重复:
  Why is there no String.Empty in java?

空字符串是否有JDK常量,类似于String.EMPTY,等于“”?我似乎找不到它。我宁愿使用它而不是“”。

由于

5 个答案:

答案 0 :(得分:8)

不,没有。但是,由于整个世界(好吧,差不多)使用Jakarta Commons-Lang,你也可以。使用StringUtils.EMPTYhttp://commons.apache.org/lang/api-2.6/org/apache/commons/lang/StringUtils.html#EMPTY

答案 1 :(得分:3)

""出了什么问题?它表现得像一个常量,它取自字符串池而且写入时间非常短,比String.EMPTY短得多。

另外,如果您需要测试字符串是否为空,请执行以下操作:

myString.isEmpty();

<强>更新

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

答案 2 :(得分:3)

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

答案 3 :(得分: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();
}
祝你好运!

答案 4 :(得分:-1)

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

如果您打算检查空字符串,可以尝试以下操作。

YOUSTRING.isEmpty();

但是请注意,isEmpty不是Null安全的,并不适用于所有版本的JDK。

要确保无效,请使用"".equals(YOURSTRING);

然而,每次执行此操作时,这会将空字符串添加到HEAP中。因此,最好指向public static final 常量,以便堆中只有一个。