在校验一个String类型的变量是否为空时,可以使用StringUtils.isBlank方法,它可以校验三种情况:是否为null、是否为""、是否为空字符串(引号中间有空格)" "、制表符、换行符、换页符和回车。
StringUtils.isBlank(str); 当str不为空时,返回值为false。
下面是该方法的源码:
(相关资料图)
public static boolean isBlank(CharSequence cs) {
int strLen;
if (cs != null && (strLen = cs.length()) != 0) {
for(int i = 0; i < strLen; ++i) {
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
} else {
return true;
}
}在业务代码中使用第三方jar的工具类去判断空,简化开发且方便阅读,类似的还有isEmpty()方法。
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}通过源码可以看出:
1.isEmpty没有忽略空格参数,是以是否为空和是否存在未判断依据。
2.isBlank进行了为空(字符串为空格、制表符、tab的情况)的判断。一般比较常用。
大家可以通过下面的例子进行体会:
StringUtils.isEmpty("yyy") = false
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isBlank("yyy") = false
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true常用的方法,但是时间久了会记忆模糊,特作出记录,高手可以忽略。。。
StringUtils.isBlank和StringUtils.isEmpty都是判断空的方法。
依赖:
org.apache.commons commons-lang3 3.4
isBlan()的使用
boolean b1 = StringUtils.isBlank(null);
boolean b2 = StringUtils.isBlank("");
boolean b3 = StringUtils.isBlank(" ");
boolean b4 = StringUtils.isBlank("\t");
boolean b5 = StringUtils.isBlank("\n");
boolean b6 = StringUtils.isBlank("test");
System.out.println("判断null = "+ b1 + "\n" + "判断\"\" = "+ b2 + "\n"
+ "判断空格 = "+ b3 + "\n" + "判断制表符 = "+ b4 + "\n" + "判断换行符 = "+ b5
+ "\n" + "判断字符串 = "+ b6);isEmpty()的使用
boolean b1 = StringUtils.isEmpty(null);
boolean b2 = StringUtils.isEmpty("");
boolean b3 = StringUtils.isEmpty(" ");
boolean b4 = StringUtils.isEmpty("\t");
boolean b5 = StringUtils.isBlank("\n");
boolean b6 = StringUtils.isEmpty("test");
System.out.println("判断null = "+ b1 + "\n" + "判断\"\" = "+ b2 + "\n"
+ "判断空格 = "+ b3 + "\n" + "判断制表符 = "+ b4 + "\n" + "判断换行符 = "+ b5
+ "\n" + "判断字符串 = "+ b6);根据上面结果的对比,isBlank()方法和isEmpty方法的区别:
isBlank()判断制表符(\t)和空格时,为true;isEmpty()判断制表符(\t)和空格时,为false;
两个判断null、""、以及换行符(\n或者\r)时为true。
两者的不同主要是因为:
isBlank()源码:
isBlank()判断是否为null和length()为0,还判断是否是空格、tab键、换行符。
isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab 键、换行符
isEmpty()源码
isEmpty()只判断是否为null和长度为0。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
标签:
每日观点:关于StringUtils.isBlank()的使用及说明
市州观察丨宁波企业入驻社区产业园 盐源香菇端上餐桌_环球讯息
5月6号本周行情回顾与下周行情展望|天天最新
怎样申报个人所得税流程_个人所得税怎么做会计分录
今日要闻!上一章张靓颖 上一章
1-0!中超最滑稽“助攻”出现,于汉超轻松捡饼,申花绝杀大连人|天天速看
春日来信⑤|最是一年春好处,播种在希望的田野上-全球热资讯
真诚服务惠民生!省人社厅到舞阳县开展"三包三联"和共建活动_天天热推荐
天天即时看!被挖呀挖呀挖洗脑专家分析详细内容
1克氢弹威力有多大?如果它完全爆炸,能造成多大的破坏效果
中国研究启动年内第二批中央冻猪肉储备收储工作
当前时讯:盘点A股“铁公鸡”:连续十年不分红,手握重金为何“一毛不拔”?
美元加息“惊着”自己,近一半的美国人担心他们的银行存款不安全|今日热议
丹棱县:从“输血兜底”到“造血共建”村集体经济实现百花齐放-当前短讯
Lab测试丨长城Hi4智能电混四驱系统有多省油?我们在上班高峰期的上海外环跑了一圈
苏丹首都喀土穆冲突再起 联合国计划援助难民
迅雷账号注册不用了怎么办_迅雷账号注册 每日简讯
慕容云海的姐姐出场_慕容云海的姐姐 今日精选
上能电气:签署沙特700MWArRass光伏项目逆变设备供货协议
天天报道:红旗大改款HS5配置曝光!预计售18.98-25.78万