Answers:
StringUtils.isBlank()
检查字符串的每个字符是否为空格字符(或字符串为空或为空)。这与仅检查字符串是否为空完全不同。
从链接的文档中:
检查字符串是否为空格,空(“”)或null。
StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false
为了比较StringUtils.isEmpty:
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
警告:在java.lang.String中 .isBlank()和java.lang.String中 .isEmpty()的工作方式相同,除了他们不返回true
的null
。
@arshajii接受的答案是完全正确的。但是,只需在下面说清楚一点,
StringUtils.isBlank()
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
StringUtils.isEmpty
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
StringUtils isEmpty = 字符串isEmpty检查+检查null。
StringUtils isBlank = StringUtils isEmpty检查+检查文本是否仅包含空格字符。
进一步调查的有用链接:
StringUtils.isBlank()
还将检查null,而这是:
String foo = getvalue("foo");
if (foo.isEmpty())
将抛出NullPointerException
if foo
为null。
StringUtils.isBlank(foo)
将为您执行空检查。如果执行foo.isEmpty()
并且foo
为null,则将引发NullPointerException。
public static boolean isEmpty(String ptext) {
return ptext == null || ptext.trim().length() == 0;
}
public static boolean isBlank(String ptext) {
return ptext == null || ptext.trim().length() == 0;
}
两者都具有相同的代码,isBlank如何处理空白,也许您的意思是isBlankString,该代码具有用于处理空白的代码。
public static boolean isBlankString( String pString ) {
int strLength;
if( pString == null || (strLength = pString.length()) == 0)
return true;
for(int i=0; i < strLength; i++)
if(!Character.isWhitespace(pString.charAt(i)))
return false;
return false;
}
代替使用第三方库,使用Java 11 isBlank()
String str1 = "";
String str2 = " ";
Character ch = '\u0020';
String str3 =ch+" "+ch;
System.out.println(str1.isEmpty()); //true
System.out.println(str2.isEmpty()); //false
System.out.println(str3.isEmpty()); //false
System.out.println(str1.isBlank()); //true
System.out.println(str2.isBlank()); //true
System.out.println(str3.isBlank()); //true
我正在回答这个问题,因为它是Google中“ String isBlank()方法”的最高结果。
如果您使用的是Java 11或更高版本,则可以使用String类isBlank()方法。此方法与Apache Commons StringUtils类具有相同的作用。
我已经写了一篇有关此方法示例的小文章,请在此处阅读。
StringUtils.isEmpty(foo)
可以帮助您避免使用空指针,就像一样isBlank
,但它不会检查空格字符。