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


相关推荐

  • 2016跨时代意义物联网之年

    2016跨时代意义物联网之年

    2022年3月4日
    40
  • 判断图同构大杀器—nauty算法

    判断两图是否同构是一个经典问题。nauty算法作为时下较为流行的主流算法,具有效率高,剪枝力度强等优势。当然,在某些特殊情况会失灵。虽然该算法的概念在上世纪80年代就提出来了,但发展至今,仍然是不可忽略的一种方法。本人翻遍了中文互联网,没找到详细相关介绍,在stackoverflow上边找到了一个问答,顺着帖子的回复找到了算法原作者自建的网站,如获至宝。再结合离散数学,看懂了这个算法的大致流程。总结如下:nauty算法:判断两个图是否同构。思路:①设置一套编号系统,给两个图进行编号,如果两个

    2022年4月8日
    37
  • python中divmod函数的用法_Python中divmod函数的用法

    python中divmod函数的用法_Python中divmod函数的用法Python 中 divmod 函数的用法 语言 余数 是一种 面向对象 函数 Python 中 divmod 函数的用法 Python 中 divmod 函数的用法在 Python 中 divmod 函数的作用是把除数和余数运算结果结合起来 其用法为 divmod a b 其中 a 和 b 的类型都是数字类型 返回值为一个包含商和余数的元组 使用时该函数无需导入 可直接使用 PythonPython 是一个高层次的结合了解释性

    2025年12月3日
    8
  • 软件著作权的源代码_软件著作权源码被泄露

    软件著作权的源代码_软件著作权源码被泄露packagecom.example.shuoya;importjava.util.Set;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.database.Cursor;importandroid.data…

    2026年2月12日
    4
  • JAVA日本免费动漫_漫画 | Java多线程与并发(一)

    JAVA日本免费动漫_漫画 | Java多线程与并发(一)1、什么是线程?2、线程和进程有什么区别?3、如何在Java中实现线程?4、Java关键字volatile与synchronized作用与区别?volatile修饰的变量不保留拷贝,直接访问主内存synchronized用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码5、有哪些不同的线程生命周期?6、你对线程优先级的理解是什么?7、什么是死锁(Deadlock)…

    2022年7月7日
    32
  • SNMP安全访问

    SNMP安全访问

    2021年7月29日
    52

发表回复

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

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