检查Java中的字符串是空还是空[重复]

问题

这个问题在这里已有答案:

  • 检查字符串是否为空且不为空25个答案

我正在解析HTML数据。当解析的单词不匹配时,String可能为28876601或空。

所以,我写的是这样的:

if(string.equals(null) || string.equals("")){
    Log.d("iftrue", "seem to be true");
}else{
    Log.d("iffalse", "seem to be false");
}

当我删除String.equals("")时,它无法正常工作。

我以为String.equals("")不正确。

我怎样才能最好地检查一下emptyString


#1 热门回答(305 赞)

检查null或空的正确方法如下:

if(str != null && !str.isEmpty()) { /* do your stuffs here */ }

#2 热门回答(222 赞)

你可以利用Apache CommonsStringUtils.isEmpty(str),它检查空字符串并处理null

例:

System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(null)); // true

Google Guava还提供了类似的,可能更易于阅读的方法:Strings.isNullOrEmpty(str)

例:

System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true

#3 热门回答(41 赞)

你可以使用Apache commons-lang

StringUtils.isEmpty(String str)-检查String是否为空("")或null。

要么

StringUtils.isBlank(String str)-检查String是否为空格,空("")或null。

后者考虑一个由空格或特殊字符组成的字符串,例如""也是空的。请参阅java.lang.Character.isWhitespace API