如何评估字符串是否为空?

时间:2011-06-22 02:14:17

标签: java

我有一个字符串,可以从数据库中读取。字符串可以只是“null”。我需要判断它是否为空?在以下几个方面,做到这一点的适当方法是什么?

String a = …;
If  (a == null)

If ( a.length == 0)

我也看到像

这样的东西
If  a.equals(“ “)

这是如何运作的?

9 个答案:

答案 0 :(得分:4)

if (a == null)

在Java中,==会比较引用,因此您可以检查引用是否指向null。如果a.length等于null,a.equalsa将抛出NullPointerException,因为您无法在null上调用方法。

将字符串与equals进行比较时,即:

  

是真的,当且仅当   参数不为null并且是String   表示相同的对象   作为这个对象的字符序列。

所以,即使我们可以在null上调用equals(我们不能,如前所述),但是根据文档的说法,它永远不会返回true。

仅当a等于""(空字符串)时,

String.length才会返回零。按照方法:

  

返回此字符串的长度。该   长度等于数量   字符串中的Unicode代码单元。

如有疑问,请测试一下! : - )

答案 1 :(得分:2)

这是在java中检查null String值的方法:

String a = ...;
if (a == null) {
    // ...
}

以下内容引发NullPointerException,因为a为null

String a = null;
if (a.length() == 0) {
    // ...
}

以下检查空字符串,它与null不同! (如果anull,它也会抛出NullPointerException

String a = ...;
if (a.equals("")) {
    // ...
}

以下(与上面类似)检查包含单个空格字符的一个字符串。 (如果anull,它也会抛出NullPointerException

String a = ...;
if (a.equals(" ")) {
    // ...
}

答案 2 :(得分:2)

这似乎是您可以轻松测试的内容,但在Java中您使用

if( a == null ) ...

测试字符串是否为null

你的第二个例子应该是

if( a.length() == 0)

只是测试String是否为空,而不是null。值""的长度为0.如果a确实是null,则该示例会抛出异常,因为您无法在null引用上调用方法在Java。

您的最后一个示例是测试String是否为空格字符。

答案 3 :(得分:1)

这完全取决于数据库库如何解释数据库中的NULL值。

有些人可能会将它们作为null字符串传递给它们,有些可能会将它们作为空字符串传递,有些可能会抛出异常 - 这一切都取决于你如何配置它以及你正在使用什么软件。 / p>

在不知道您正在使用什么数据库访问器的情况下,无法肯定地回答这个问题。

答案 4 :(得分:1)

我用...

if(string == null || string.trim.length() == 0) {
 // string is null or empty
}

话虽如此,数据库中也存在NULL值,您应该在查看ResultSet时进行检查。比如...

String nameVal = rs.getString ("name");
   if (rs.wasNull ())
       nameVal = "(no name available)";

在Nullable列的情况下,SQL是三态的。列可以具有值,列可以为NULL或列可以包含空字符串。 NULL具有明确的含义,在编写数据库代码时需要牢记这一点。

答案 5 :(得分:0)

if(a!= null&& a.length == 0)   //然后它是空的

答案 6 :(得分:0)

出于语义原因,我会使用if (a == null)。在那里你很清楚你正在检查一个空字符串。

答案 7 :(得分:0)

如果字符串可以是实际值“null”,则使用

if(a.equals("null"))

如果对象可以设置为NULL,则使用

if(a == null)

最好的方法是将它们结合起来

if(a == null || a.equals("null"))

答案 8 :(得分:-2)

try{
    methodWhichUsesTheString(a);
}catch (Exception NullPointerException){
    //string a seems to be null
    a = "Re-assign some desired value that would make things work" ;
}