检查空字符串null?

时间:2015-04-07 19:28:29

标签: java string guava apache-commons

我有一个json,其中userId属性来自字符串" null" -

"userId":"null"

我有一个方法可以检查我的字符串是否为空 -

public static boolean isEmpty(String value) {
    return value == null || value.isEmpty();
}

但每次我的上述方法都会将false作为上述userId返回给我?它应该为true,因为userId为null。在Guava或Apache Commons中是否有其他API可以做到这一点?

3 个答案:

答案 0 :(得分:8)

null不等于字符串"null"null表示尚未为给定对象分配值,其中String "null"是有效对象。它包含字符n u l l,这是字符串的有效值。您还需要检查值是否为文字字符串"null",以便执行您想要的操作。

正确检查

return value == null || value.isEmpty() || value.equals("null") ;

如果您仍希望将"null"维护为有效的用户名,则将发送json的任何内容更改为以下格式,该格式应解释为文字null而不是带内容的字符串{ {1}}

"null"

答案 1 :(得分:4)

“null”与null不同。

“null”是单词“null”的长度为4个字符的字符串。

null(没有引号)只是 - 没什么。

答案 2 :(得分:1)

{"userId":"null"}等于java中的String userId = "null"

{}在解组时等于String userId = null