一直想对字符串的null,""两种形式判断,今天来实际操作一下。
通过isEmpty(), StringUtils.isEmpty(a),StringUtils.isBlank(a)三种方式,
对字符串值为以下几种情况时做出判断
null,
"",
"\t \n \f \r" 制表符、换行符、换页符和回车符,
\b 单词边界符,
主要代码如下:
String a=null;
String b="";
String c=" ";
String d="\t \n \f \r";
String e="\b";
log.info("isEmpty()测试");
// log.info("null:{}",a.isEmpty()); //会报错,抛异常
log.info("\"\":{}",b.isEmpty());
log.info("\" \":{}",c.isEmpty());
log.info("制表符、换行符、换页符和回车符:{}",d.isEmpty());
log.info("单词边界符:{}",e.isEmpty());
log.info("StringUtils.isEmpty()测试");
log.info("null:{}", StringUtils.isEmpty(a));
log.info("\"\":{}", StringUtils.isEmpty(b));
log.info("\" \":{}",StringUtils.isEmpty(c));
log.info("制表符、换行符、换页符和回车符:{}",StringUtils.isEmpty(d));
log.info("单词边界符:{}",StringUtils.isEmpty(e));
log.info("StringUtils.isBlank()测试");
log.info("null:{}", StringUtils.isBlank(a));
log.info("\"\":{}", StringUtils.isBlank(b));
log.info("\" \":{}",StringUtils.isBlank(c));
log.info("制表符、换行符、换页符和回车符:{}",StringUtils.isBlank(d));
log.info("单词边界符:{}",StringUtils.isBlank(e));
结果如下:
尝试的时候发现还有一个trim方法,也进行了测试
log.info("StringUtils.trim()测试");
log.info(" a :{}前后空格都删除" ,StringUtils.trim(" a "));
log.info("制表符、换行符、换页符和回车符:{}后面",StringUtils.trim(d));
log.info("单词边界符:{}后面",StringUtils.trim(e));
结果如下: