empty:表示对象为空或长度为0
blank: 表示对象为空或长度为0、空格字符串
null: 表示对象为空
先看看isEmpty和isBlank
1 StringUtils.isBlank()
public class Demo9 { public static void main(String[] args) { String a = ""; String b = " "; String c = null; System.out.println(StringUtils.isBlank(a)); //true System.out.println(StringUtils.isBlank(b)); //true System.out.println(StringUtils.isBlank(c)); //true } }
2 StringUtils.isEmpty() public class Demo9 { public static void main(String[] args) { String a = ""; String b = " "; String c = null; System.out.println(StringUtils.isEmpty(a)); //true System.out.println(StringUtils.isEmpty(b)); //false System.out.println(StringUtils.isEmpty(c)); //true } }
只要对象为null 不管是StringUtils.isEmpty()还是StringUtils.isBlank() 结果都是true
对象是空或者长度为零StringUtils.isEmpty()和StringUtils.isBlank() 结果都是true
对象为空或者长度为零StringUtils.isBlank()和StringUtils.isBlank() 为ture。对象长度为空格字符串StringUtils.isEmpty()结果为false而StringUtils.isBlank()结果为true
本质上讲:
isEmpty 等价于 string == null || string.length == 0
isBlank 等价于 string == null || string.length == 0 || string .trim().length == 0
非空正好相反:
isNotEmpty和isNotBlank都是判断字符串非空:
1 isNotBlank
public class Demo9 { public static void main(String[] args) { String a = ""; String b = " "; String c = null; System.out.println(StringUtils.isNotBlank(a)); //false System.out.println(StringUtils.isNotBlank(b)); //false System.out.println(StringUtils.isNotBlank(c)); //false } }
2 isNotEmpty public class Demo9 { public static void main(String[] args) { String a = ""; String b = " "; String c = null; System.out.println(StringUtils.isNotEmpty(a)); //false System.out.println(StringUtils.isNotEmpty(b)); //true System.out.println(StringUtils.isNotEmpty(c)); //false } }
相反
isNotEmpty等价于 a != null && a.length > 0
isNotBlank 等价于 a != null && a.length > 0 && str.trim().length > 0
StringUtils 官方API http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
中文版本API https://www.bropen.com.cn/tech_docs/docs/BroToolkit/gapi/bropen/toolkit/utils/StringUtils.html