小知识点系列:StringUtil.isEmpty()与StringUtil.isBlank()的区别

本文详细介绍了Java中StringUtils的isEmpty(), isNotEmpty(), isBlank()和isNotBlank()四个方法,用于判断字符串是否为空、非空、空白或非空白。在日常开发中,isBlank()方法最为常用,但理解其他方法的用法也至关重要。了解这些方法可以帮助开发者更精确地处理字符串状态。

1. StringUtils.isEmpty()

判断某字符串是否为空,为空的标准是str==null或str.length()==0

下面是StringUtils判断是否为空的示例:

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("  ") = false
StringUtils.isEmpty("test") = false
StringUtils.isEmpty(" test ") = false

2. StringUtils.isNotEmpty()

判断某字符串是否非空,等于!isEmpty(String str)

下面是示例:

StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("  ") = true
StringUtils.isNotEmpty("test") = true
StringUtils.isNotEmpty(" test ") = true

3. StringUtils.isBlank()

判断某字符串是否为空或长度为0或由空白符(whitespace)构成

下面是示例:

StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = tru
versionDatas.stream() .filter(item -> CollectionUtils.isEmpty(param.getIds()) || param.getIds().contains(item.getId())) .filter( item -> StringUtils.isBlank(param.getName()) || StringUtil.iContains(item.getName(), param.getName())) .filter(item -> StringUtils.isBlank(param.getDescription()) || StringUtil.iContains(item.getDescription(), param.getDescription())) .filter( item -> StringUtil.isEmptyStringList(param.getLabels()) || StringUtil.listFuzzyMatch(item.getLabels(), param.getLabels())) .filter(item -> StringUtils.isBlank(param.getDataType()) || StringUtil.iContains(item.getDataType(), param.getDataType())) .filter(item -> StringUtils.isBlank(param.getModel()) || StringUtil.iContains(item.getModel(), param.getModel())) .filter(item -> StringUtil.isEmptyStringList(param.getStatus()) || StringUtil.listMatch(item.getStatus(), param.getStatus())) .filter(item -> StringUtil.isEmptyStringList(param.getSource()) || StringUtil.listMatch(item.getSource(), param.getSource())) .filter(item -> StringUtil.isEmptyStringList(param.getDataSecurityLevel()) || StringUtil.listMatch( item.getDataSecurityLevel(), param.getDataSecurityLevel())) .filter(item -> CollectionUtils.isEmpty(param.getOriginCorpusId()) || StringUtil.listFuzzyMatch( item.getOriginCorpusId(), param.getOriginCorpusId().stream().map(String::valueOf).collect(Collectors.toList()))) .filter( item -> param.getCorpusSourceId() == null || item.getCorpusSourceId().equals(param.getCorpusSourceId())) .filter(item -> StringUtils.isBlank(param.getSourceSubtype()) || item.getSourceSubtype() .equals(param.getSourceSubtype())) .filter(item -> StringUtils.isBlank(param.getWebsiteName()) || StringUtil.iContains(item.getWebsiteName(), param.getWebsiteName())) .filter( item -> StringUtils.isBlank(param.getWebsiteAddress()) || StringUtil.iContains(item.getWebsiteAddress(), param.getWebsiteAddress())) .filter(item -> StringUtils.isBlank(param.getSourceTag()) || StringUtil.iContains(item.getSourceTag(), param.getSourceTag())) .filter(item -> StringUtils.isBlank(param.getAigcInput()) || StringUtil.iContains(item.getAigcInput(), param.getAigcInput())) .filter(item -> StringUtils.isBlank(param.getCapabilityLabel()) || StringUtil.iContains( item.getCapabilityLabel(), param.getCapabilityLabel())) .collect(Collectors.toMap(VersionDataManagement::generateKeyByDirIdAndName, item -> item));把这个stream流中过滤方法提取成几个通用的方法,减少重复逻辑的代码
07-24
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蒲春伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值