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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring Data JPA插入

    Spring Data JPA插入save 方法是面向业务的 每次插入都需要验证当前数据是否为新数据 Transactiona SextendsT Ssave Sentity if this entityInform isNew entity this em persist entity SextendsT

    2025年8月25日
    2
  • pycharm打包python项目_Python怎么打包

    pycharm打包python项目_Python怎么打包一、构建虚拟环境1.PyCharm终端中输入命令python-mvenvvenv2.刷新后产生venv文件夹二、创建解释器1.文件–>设置–>Python解释器2.添加所需模块(1)已经存在的模块(2)重新添加一个终端,这样就会将模块安装在虚拟环境中了(3)安装缺少的模块(4)安装打包模块pipinstallpyinstaller-ihttps://pypi.douban.com/simple/(5)打包程序p

    2022年8月26日
    7
  • Android 对apk进行重签名和查看签名(window 和mac)及生成签名

    Android 对apk进行重签名和查看签名(window 和mac)及生成签名标题实际上说了二个问题:查看签名和重签名先说一个简单的查看签名:第一步:将apk解压第二步:找到META-INF下的.RSA文件第三步:在mac终端或者window控制器上输入命令:keytool-printcert-filexxx.RSA回车,即可查看签名文件.将.RSA文件拖入到-file后面,即可查看:如下图重新签名…

    2022年4月28日
    38
  • C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]

    C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]一、课程设计题目《学生成绩管理系统设计》二、实训目的(1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。(2)掌握C++的基本概念和基础知识。(3)通过训练能够读懂较为复杂的C++语言源程序并具备基本C++语言程序设计的能力。(4)通过实训,培养自己编写、调试、分析程序的能力。(5)培养自己独立解决问题,查找资料的能力。同学之间相互帮助,相互交流,相互合作的团队精神。(6)培养自己良好的学习兴趣,独立的编程风格。(7)通过实训检查自己学习上的

    2022年6月20日
    32
  • IT公司速查手册、http://www.findgs.com红黑榜it

    IT公司速查手册、http://www.findgs.com红黑榜itIT公司速查手册http://www.bewww.net/http://www.seeitco.com/ http://www.findgs.com 

    2022年7月16日
    14
  • Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations论文详记

    Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations论文详记ExploitingVisualArtifactstoExposeDeepfakesandFaceManipulations论文详记一、论文简述二、论文内容A、篡改伪影①全局一致性②光照估计③几何估计B、基于视觉伪影的分类①、完全生成脸部的检测②、DeepFakes的检测③、Face2Face的检测三、论文实验及结果一、论文简述提取眼睛、牙齿以及脸部轮廓等位置的特征来检测DeepFake视频,属于基于帧内图像伪影的检测方法,使用Logistic回归或浅层全连接网络分类,属于浅层分类器方法

    2022年5月17日
    46

发表回复

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

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