栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java字符串工具类isEmpty和isBlank的区别】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java字符串工具类isEmpty和isBlank的区别】

isEmpty和isBlank的区别 isEmpty

判断字符串是否为空字符串,只要一个任意字符(包括空白字符)就不为空。
看下isEmpty的方法源码:

public static boolean isEmpty(CharSequence cs){
	return cs == null || cs.length == 0
}

//输入“ ” 返回false 
//输入“” 返回true
//输入“java” 返回false

这个方法只判断了是为null或者长度为0,意味着如果用户输入了“ ”空白字符,这个方法就不通过了,结果就是不为空了。

isBlank

判断字符串是否为空字符串,全部空白字符也为空。

public static boolean isBlank(CharSequence cs){
	int strLen = length(cs);
	if(strLen == 0){
		return true;
	}else{
		for(int i = 0;i 

第七行,只要有一个字符不为空白字符就返回false, 也就是说,如果全部都为空白字符就返回true,也就是全部空白字符也为空。

isEmpty和isBlank怎么选

很明显,我们要判断一个字符串为空,绝大部分情况下“空白字符”也要为空的,严谨来说肯定要用isBlank,虽然 isEmpty 也可以,但如果在最前端的接口不被拦截掉,请求到了后端的服务、数据库,就可能会造成压力,甚至是系统异常,这是完全可以避免的。
但万事也没有绝对,如果你的程序可以接受任意字符,包括“空白字符”,那就要选择 isEmpty,isBlank 会拦截所有空白字符,就达不到要求。

与之相对应的一般还有isNotEmpty和isNotBlank,这都是对工具类的封装。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号