JAVA | StringUtils中 isNotEmpty 和 isNotBlank的区别[通俗易懂]

JAVA | StringUtils中 isNotEmpty 和 isNotBlank的区别[通俗易懂]isNotEmpty和isNotBlank的区别

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

StringUtils

StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。

善用StringUtils工具类的中的方法,可以使我们的代码看上去更优美、简洁。

isNotEmpty

StringUtils 中提供了 isNotEmpty () 方法,查看源码

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

public static boolean isNotEmpty(CharSequence cs) { 
   
    return !isEmpty(cs);
}

根据源码可知:isNotEmpty () 方法判断字符串不为null,而且长度不为0

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

isNotBlank

StringUtils 中提供了 isNotBlank() 方法,查看源码

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;
    }
}

public static boolean isNotBlank(CharSequence cs) { 
   
    return !isBlank(cs);
}

根据源码可知:isNotBlank() 方法判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成

StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false

区别

两者的相同点都是可以判断出不为NULL且字符串长度不为0,isNotBlank更可以判断出是否包含空格符

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169982.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月12日 上午11:36
下一篇 2022年8月12日 上午11:46


相关推荐

  • python中numpy库的作用_python random库

    python中numpy库的作用_python random库一、什么是NumPyNumpy–NumericalPython,是一个基于Python的可以存储和处理大型矩阵的库。几乎是Python生态系统的数值计算的基石,例如Scipy,Pandas,Scikit-learn,Keras等都基于Numpy。使用Numpy,可以进行:1.数组和逻辑运算2.傅里叶变换和图形操作实例3.线性代数相关的运算操作功能很强大有木有???但是Python官网上的…

    2022年8月28日
    4
  • python 京东签到在哪里_python 使用selenium登陆京东签到哪京豆

    python 京东签到在哪里_python 使用selenium登陆京东签到哪京豆[Python]纯文本查看复制代码#coding:utf8fromseleniumimportwebdriverimporttimedefsign_up():url=r’https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fvip.jd.com%2F’dr=webdriver.Firefox()#dr=…

    2025年11月21日
    3
  • UART与USART区别

    UART与USART区别USART:通用同步和异步收发器UART:通用异步收发器当进行异步通信时,这两者是没有区别的。区别在于USART比UART多了同步通信功能。这个同步通信功能可以把USART当做SPI来用,比如用USART来驱动SPI设备。同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下

    2022年5月20日
    53
  • Python代码库_Python编程

    Python代码库_Python编程实例:绘制蟒蛇#PythonDraw.pyimportturtleturtle.setup(650,350,200,200)turtle.penup()turtle.fd(-25

    2022年8月5日
    3
  • CSS解读之alpha通道与opacity属性的区别

    CSS解读之alpha通道与opacity属性的区别上期在谈到border的用途的时候,在最后列举的两个实例中均用到了一个transparent属性值,从字面意思也知道,这个属性值其实和颜色是并列的,不过它表示的是透明。一般的HTML标签在未指定其背景的时候默认就是透明的。我们发现在上个实例在谷歌浏览器中用调试工具查看其CSS属性的时候,transparent自动变成了如图1-1所示的rgba(0,0,0,0)。这说明两者基本是等价的。

    2022年5月25日
    73
  • QT 读取csv文件「建议收藏」

    QT 读取csv文件「建议收藏」最近项目中提出的需求是从excel表格中导入数据,查阅了很多资料之后,发现直接操作xls格式文件并不容易,之后找到了一个比较好的解决办法,那就是把xls文件另存为csv文件,然后在程序中进行操作。首先大致说明一下这两种格式的区别:      xls文件是Excel电子表格的文件格式,而csv是一种比较通用的文件格式,xls文件只能用Excel才能打开,而csv文件可以用Excel、记事本

    2022年7月20日
    130

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号