当前位置: 首页 > 后端技术 > Java

isEmpty和isBlank的用法区别,至少有一半人答不上来,,

时间:2023-04-01 15:36:24 Java

也许你两个都不知道,也许你不知道isAnyEmpty/isNoneEmpty/isAnyBlank除了isEmpty/isNotEmpty/isNotBlank/isBlank/isNoneBlank的存在,来吧,让我们一起探索org.apache.commons.lang3.StringUtils;这个工具类。isEmpty系列StringUtils.isEmpty()是否为空。可以看到""空格会绕过这个空判断,因为它是一个空格,不是严格的空值,这会导致isEmpty("")=falseStringUtils.isEmpty(null)=trueStringUtils.isEmpty("")=trueStringUtils.isEmpty("")=falseStringUtils.isEmpty("bob")=falseStringUtils.isEmpty("bob")=false/****

注意:此方法在Lang2.0版中发生了变化。*它不再修剪CharSequence。*该功能在isBlank()中可用。

**@paramcs要检查的CharSequence,可能为null*@return{@codetrue}如果CharSequence为空或null*@since3.0从isEmpty更改签名(字符串)到isEmpty(CharSequence)*/publicstaticbooleanisEmpty(finalCharSequencecs){returncs==null||cs.length()==0;}StringUtils.isNotEmpty()相当于不为空,=!isEmpty()。publicstaticbooleanisNotEmpty(finalCharSequencecs){return!isEmpty(cs);}StringUtils.isAnyEmpty()如果一个为空且只有一个为空,则为true。StringUtils.isAnyEmpty(null)=trueStringUtils.isAnyEmpty(null,"foo")=trueStringUtils.isAnyEmpty("","bar")=trueStringUtils.isAnyEmpty("bob","")=trueStringUtils.isAnyEmpty("bob",null)=trueStringUtils.isAnyEmpty("","bar")=falseStringUtils.isAnyEmpty("foo","bar")=false/***@paramcss要检查的CharSequences,可以为null或空*@return{@codetrue}如果任何CharSequences为空或null*@since3.2*/publicstaticbooleanisAnyEmpty(finalCharSequence...css){if(ArrayUtils.isEmpty(css)){returntrue;}for(finalCharSequencecs:css){if(isEmpty(cs)){returntrue;}}returnfalse;}StringUtils.isNoneEmpty()相对于!isAnyEmpty(css),必须所有的值都不为空才返回true/***

检查是否没有一个CharSequences为空("")或null.

**
*StringUtils.isNoneEmpty(null)=false*StringUtils.isNoneEmpty(null,"foo")=false*StringUtils.isNoneEmpty("","bar")=false*StringUtils.isNoneEmpty("bob","")=false*StringUtils.isNoneEmpty("bob",null)=false*StringUtils.isNoneEmpty("","bar")=true*StringUtils.isNoneEmpty("foo","bar")=true*
**@paramcss要检查的CharSequences,可能为空或空*@return{@codetrue}如果所有CharSequences都不为空或为空*@since3.2*/publicstaticbooleanisNoneEmpty(finalCharSequence...css){isBank系列StringUtils.isBlank()是否为真空值(空格或空值)StringUtils.isBlank(null)=trueStringUtils.isBlank("")=trueStringUtils.isBlank("")=trueStringUtils.isBlank("bob")=falseStringUtils.isBlank("bob")=false/***

检查CharSequence是否为空白、空("")或null。

*@paramcs要检查的CharSequence,可能为null*@return{@codetrue}如果CharSequence为null、空或空白*@since2.0*@since3.0已更改签名从isBlank(String)到isBlank(CharSequence)*/publicstaticbooleanisBlank(finalCharSequencecs){intstrLen;如果(cs==null||(strLen=cs.length())==0){returntrue;}for(inti=0;i检查是否有任何一个CharSequences为空白("")或null而不仅仅是空白..

*@paramcss要检查的CharSequences,可以为null或空*@return{@codetrue}如果有的CharSequences是空白或null或仅空白*@since3.2*/publicstaticbooleanisAnyBlank(finalCharSequence...css){if(ArrayUtils.isEmpty(css)){returntrue;}for(finalCharSequencecs:css){if(isBlank(cs)){returntrue;}}returnfalse;}StringUtils.isNoneBlank()是否全部不包含空间值或空间StringUtils.isNoneBlank(null)=falseStringUtils.isNoneBlank(null,"foo")=falseStringUtils.isNoneBlank(null,null)=falseStringUtils.isNoneBlank("","bar")=falseStringUtils.isNoneBlank("bob","")=falseStringUtils.isNoneBlank("bob",null)=falseStringUtils.isNoneBlank("","bar")=falseStringUtils.isNoneBlank("foo","bar")=true/***

检查是否所有CharSequences都不是空白("")或只有null和空格..

*@paramcss要检查的CharSequences,可以是null或空*@return{@codetrue}如果noneoftheCharSequencesareblankornullorwhitespaceonly*@since3.2*/publicstaticbooleanisNoneBlank(finalCharSequence...css){return!isAnyBlank(css);}StringUtils的其他方法可以参考官方文档,其中包含详细说明,有些方法还是很有用的https://commons.apache.org/pr...文章来源:https://sourl.cn/dRpJ6b