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

本文探讨了Java中`isEmpty`与`isBlank`方法的区别,`isEmpty`仅判断是否为null或长度为0,而`isBlank`还包括空白字符。在实际应用中,根据需求选择恰当的工具,避免潜在的系统问题。
摘要由CSDN通过智能技术生成

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<strLen;++i){
			if(!Character.isWhitespace(cs.charAt(i))){
				return false;
			}
		}
		return true;
	}
}

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

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

isEmpty和isBlank怎么选

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业余码手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值