在 Java 的org.apache.commons.lang3.StringUtils
工具类中,isNotBlank()
和isNotEmpty()
是两个常用的字符串判断方法,它们的主要区别在于对空白字符(whitespace)的处理上:
判断逻辑:当字符串不为null
且长度大于 0 时返回true
特点:不忽略空白字符,只要字符串不是null
且不是空字符串(""
)就会返回true
示例:
StringUtils.isNotEmpty(null) // false StringUtils.isNotEmpty("") // false StringUtils.isNotEmpty(" ") // true(包含空格,长度>0) StringUtils.isNotEmpty("hello") // true
判断逻辑:当字符串不为null
、长度大于 0 且不包含空白字符时返回true
特点:会忽略空白字符(空格、制表符\t
、换行符\n
等),相当于先调用trim()
再判断
StringUtils.isNotBlank(null) // false StringUtils.isNotBlank("") // false StringUtils.isNotBlank(" ") // false(仅包含空格,trim后为空) StringUtils.isNotBlank(" a ") // true(trim后为"a",非空) StringUtils.isNotBlank("hello") // true
总结区别: