我有一个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可以做到这一点?
答案 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
。