StringUtils中 isNotEmpty 和isNotBlank的区别 以及StringUtil类的方法

2023-10-26

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


除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()


1. public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是str==null或str.length()==0
下面是StringUtils判断是否为空的示例:
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空处理
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false


2. public static boolean isNotEmpty(String str)
判断某字符串是否非空,等于!isEmpty(String str)
下面是示例:
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true


3. public static boolean isBlank(String str)
判断某字符串是否为空或长度为0或由空白符(whitespace)构成
下面是示例:
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
StringUtils.isBlank("\b") = false //"\b"为单词边界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false


4. public static boolean isNotBlank(String str)
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str)
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true


其他方法介绍:
5. public static String trim(String str)
去掉字符串两端的控制符(control characters, char <= 32),如果输入为null则返回null
下面是示例:
StringUtils.trim(null) = null
StringUtils.trim("") = ""
StringUtils.trim(" ") = ""
StringUtils.trim(" \b \t \n \f \r ") = ""
StringUtils.trim(" \n\tss \b") = "ss"
StringUtils.trim(" d d dd ") = "d d dd"
StringUtils.trim("dd ") = "dd"
StringUtils.trim(" dd ") = "dd"


6. public static String trimToNull(String str)
去掉字符串两端的控制符(control characters, char <= 32),如果变为null或"",则返回null
下面是示例:
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
StringUtils.trimToNull(" dd ") = "dd"


7. public static String trimToEmpty(String str)
去掉字符串两端的控制符(control characters, char <= 32),如果变为null或"",则返回""
下面是示例:
StringUtils.trimToEmpty(null) = ""
StringUtils.trimToEmpty("") = ""
StringUtils.trimToEmpty(" ") = ""
StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
StringUtils.trimToEmpty(" \n\tss \b") = "ss"
StringUtils.trimToEmpty(" d d dd ") = "d d dd"
StringUtils.trimToEmpty("dd ") = "dd"
StringUtils.trimToEmpty(" dd ") = "dd"


8. public static String strip(String str)
去掉字符串两端的空白符(whitespace),如果输入为null则返回null
下面是示例(注意和trim()的区别):
StringUtils.strip(null) = null
StringUtils.strip("") = ""
StringUtils.strip(" ") = ""
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
StringUtils.strip(" d d dd ") = "d d dd"
StringUtils.strip("dd ") = "dd"
StringUtils.strip(" dd ") = "dd"


9. public static String stripToNull(String str)
去掉字符串两端的空白符(whitespace),如果变为null或"",则返回null
下面是示例(注意和trimToNull()的区别):
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"


10. public static String stripToEmpty(String str)
去掉字符串两端的空白符(whitespace),如果变为null或"",则返回""
下面是示例(注意和trimToEmpty()的区别):
StringUtils.stripToNull(null) = ""
StringUtils.stripToNull("") = ""
StringUtils.stripToNull(" ") = ""
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StringUtils中 isNotEmpty 和isNotBlank的区别 以及StringUtil类的方法 的相关文章

  • VS2017调节字体大小快捷键

    快捷键 Ctrl Shift gt 调大 Ctrl Shift lt 调小 Ctrl 鼠标滚动 向上调大 向下调小 笔记本触屏放大 就和在手机上放大图片一样 也可以去工具 gt 选项 gt 环境 gt 字体与颜色里面直接选择字号调整
  • 详解万向锁

    最近在看高翔老师的slam十四讲时 对万向锁这个概念不是很清晰 于是从网上查了不少博客文档 最终明白了万向锁这个概念 在此记录一下 解释万向锁之前首先明白一下什么是欧拉角 什么是欧拉角 用一句话说 欧拉角就是物体绕坐标系三个坐标轴 x y
  • Window查看apache的版本

    我使用的是xampp进入shell命令界面的 1 点击shell 进入 2 直接输入命令 httpd v 就可以看到你电脑平时使用的Apache版本了
  • idea 模块名后面有个中括号别名(1)

    步骤 第一步 第二步 为什么不直接改名字 最近项目正在从Springboot改造成SpringCloud微服务架构 所以会涉及到新增模块的情况 这里我直接复制了项目中的一个 模块 并且通过修改文件夹名的方式命名该模块 之后该模块名后面出现了
  • 圆周率π的取值

    const double pi acos 1 0 头文件是
  • QImage的save函数保存的bmp图像无法打开

    最近在VS2010中用QT写一个小的程序 现在出现了一个问题实在不知道怎么解决 用save功能可以得到一个 bmp文件 但是不能读取这个图片的内容 而且每次截图图片的大小都是150K不变 整个调试过程都没有报错 相关代码如下 以上内容设置了
  • viso画图时如何让右侧显示设置形状格式栏

    选中一个形状 右击 点击设置形状格式 就出来了 我也琢磨了好久
  • Vue 将数组的字段取出组成key:value形式的对象+key:value 形式的对象组成数组

    1 将数组的字段取出组成key value形式的对象 let list key php value 1 key asp value 2 key aspx value 3 key jsp value 4 let header list for
  • 多线程:Java两个线程,一个打印A-Z,另一个打印1-26,输出结果:A1 B2 C3 ...... Z26

    最近看到一个题 很有意思 就是在Java里实现两个线程 一个线程打印字母 也就是 ABCD Z 另一个线程打印数字 也就是 1234 26 但是这两个线程需要交替打印 第一次字母线程先打印A 然后数字线程打印1 第二次字母线程先打印B 然后
  • ppt快速回到某页(幻灯片放映时)【实测成功】

    仅作为记录 感谢大佬博主文章 传送门 即 在幻灯片放映过程中 在键盘按一下需要跳转的页面编号 再按回车键就会快速跳转到那一页 在未放映时 点击office的ppt的右下角图标 在所有幻灯片中进行选择 双击即可
  • Oracle VirtualBox 6.1.18 安装扩展包

    VirtualBox安装扩展包 下载的Oracle VM VirtualBox Extension Pack包不是 vbox extpack格式的或扩展名的 怎么办 见下文插曲 下载扩展包 扩展名为vbox extpack 关闭虚拟机电脑
  • int , long , long long 的取值范围

    关于带符号与无符号类型 整型 int stort 和 long 都默认为带符号型 要获得无符号型则必须制定该类型为unsigned 比如unsigned long unsigned int类型可以简写为unsigned 也就是说 unsig
  • 顺序主子式的英文翻译(定义)

    顺序主子式的英文翻译 定义 为了查明顺序主子式的英文翻译 我在国内知网翻译助手 金山词霸等诸多翻译系统查了一下 给出的答案不外乎以下几个答案 知网翻译助手的答案 我喜欢刨根问底 很明显这样的答案就是中式英语 经过一番努力好 终于找到正确答案
  • 联想ThinkStation C30工作站修复记录

    我使用联想ThinkStation C30开发算法 采用windows 64bit系统 前段时间 办公楼断电 导致ThinkStation C30工作站无法正常启动windows系统 一直黑屏 显示如下错误 有时闪烁显示下三角号 Intel
  • 图像质量评价指标及MATLAB程序

    指标名称 RMSE 针对一个volume的程序 M 230 行数 N 140 列数 P 11 切片数 计算RMSE volume P origin vector p P recon vector P recon MNP M N P nume
  • Google浏览器打开新页面会覆盖当前页面的问题

    点击链接时使用鼠标中间的转轮点击 会在后台打开新网页 点击链接时使用Ctrl 鼠标左击 在后台打开新网页 点击连接时Ctrl Shift 左击 跳转到打开的新页面 在Google浏览器搜索 最原始页面搜索 设置 gt 回车 设置 gt 搜索
  • VS Code+Anaconda(国内源)配置python

    一 Anaconda的介绍 为何使用 优点 二 Anaconda下载和安装 三 VS Code下载及安装 四 Anaconda更换国内源 原因及操作方法 操作方法 具体操作方法 记得看上边优秀博客 五 TensorFlow环境 配置原因及优
  • 如何将Visio绘制的图保存为300dpi的tif图片

    采用visio 2013绘图 用ctrl A全选绘制的图 开始 另存为 选择保存类型为tif Tif输出设置 分辨率设为300dpi 300dpi 验证一下图片分辨率 右击生成的tif文件 属性 详细信息
  • endnote插入的不是序号(而是大括号加上作者)的解决

    仅作为记录 大佬请跳过 之前用word通过endnote导入文献 都是可以的 在正文出现 1 的引用 但是博主新的word 需要修改参考文献 因此拟重新导入参考文献来修改 但发现导入的都是 Dou 2017 在正文中 文章目录 解决 参考
  • 联想E540笔记本电脑拆键盘、换键盘

    我的联想ThinkPad E540键盘坏了几个按键 按下去没有反应 在京东第三方买了一个新的原装键盘 自己把它给换上去 下图中 几个涂红色的按键是坏的 编程的时候特别不方便 第一步 在电脑背面卸掉几个螺丝 因为键盘上也有螺丝 刚开始我卸的螺

随机推荐

  • springCloud中feign的使用

    springCloud中feign的使用 定义一个feign的接口 定义一个feign的接口 定义fegin接口 使用 FeginClient注解指向对应的服务 FeignClient value iyb test url ms iyb t
  • 【Elasticsearch】ES内存满问题排查思路

    1 概述 转载 https bbs huaweicloud com forum thread 69710 1 1 html 2 问题排查思路 场景1 内存参数配置不合理 场景2 查询返回的size过大 场景3 深度翻页查询 场景4 聚合的数
  • 【iOS】属性关键字

    文章目录 前言 一 深拷贝与浅拷贝 1 OC的拷贝方式有哪些 2 OC对象实现的copy和mutableCopy分别为浅拷贝还是深拷贝 3 自定义对象实现的copy和mutableCopy分别为浅拷贝还是深拷贝 4 判断当前的深拷贝的类型
  • 论文阅读技巧之三遍法

    本文介绍了三遍法及其在文献调查中的应用 关键的思想是 你应该以三遍的时间来阅读论文 而不是从一开始就一直读到最后 每个pass都实现了特定的目标 并建立在前一个遍的基础上 第一个pass让您对本文有一个大致的了解 第二步让你掌握论文的内容
  • es查询对应索引下的数据结果

    执行语句 GET test index mapping pretty test index 索引名称 mapping 查询索引的结构 pretty 是参数 意思是格式化数据
  • spring手动开启事务,手动提交事务,手动回滚事务

    1 未加事务注解 或者事务配置 所以需要手动开启事务和手动提交事务和手动回滚事务 Autowired private PlatformTransactionManager txManager Autowired private ShopGr
  • Vue中表单手机号验证与手机号归属地查询

    下面是一篇关于Vue中如何进行表单手机号验证与手机号归属地查询的Markdown格式的文章 包含代码示例 Vue中表单手机号验证与手机号归属地查询 手机号验证和归属地查询是许多Web应用程序中常见的功能之一 在Vue js中 我们可以轻松地
  • 安装npm和cnpm

    一 简介 npm是nodejs的包管理工具 用于node插件管理 cnpm是淘宝在中国做的nodejs镜像 避免访问国外的nodejs网站出现异常 二 安装nodejs 1 安装 有两种选择一种是安装文件安装 一种是免安装的zip包 这里我
  • 使用Rust写操作系统(1)-安装rust开发环境

    安装cargo及rust编译环境 sudo curl https sh rustup rs sSf sh 如图 选择自定义安装 在版本选择的时候 一定要选择nightly 因为开发操作系统要使用到一些非稳定版本的功能 选择完成后 继续安装即
  • Java序列化详解

    序列化是一种将对象转换成字节流的过程 以便在网络上传输或将其保存到磁盘上 Java提供了一种称为Java序列化的机制 它可以将Java对象转换成字节流 并在需要时将其还原回对象 在本文中 我们将介绍Java序列化的使用方法 并提供一些示例代
  • 都2021了作为一名Android开发者,还不学音视频开发?我劝你早点认清现实!

    缘起 最近经常遇到一些同学问我如何学习音视频 怎样才能快速上手 还有一些对音视频不了解的同学问我该不该学习音视频 作为一名音视频行业的10年Android老兵 我有一些思考分享给大家 希望能对你有所帮助 大趋势 从未来的大趋势来看 随着5G
  • 【C语言位运算符及原码输出】

    C语言位运算符及原码输出 原码 补码 反码基础概念 按位与 按位或 按位异或 按位与 lt lt 按位左移 gt gt 按位右移 位运算符注意事项 两个操作数均以补码参与计算 得到的结果为补码 需将结果转为原码才是最终答案 原码 补码 反码
  • element-plus 提示找不到名称“ElMessage”。ts(2304)

    文章目录 1 安装element plus 2 main ts 引入ElMessage 3 vite config ts 中配置 4 在vscode中使用会报错 找不到名称 ElMessage ts 2304 1 安装element plu
  • umi使用mock

    引入 Mock import Request Response from umijs deps compiled express import Mock from mockjs 定义数据类型 export default GET api t
  • 微信小程序vant组件库安装

    vant组件库安装步骤 1 通过npm安装 在微信开发者工具目录空白处右击 在外部终端窗口中打开或直接在文件路径中输入cmd回车 2 安装之前初始化npm包 再安装 npm init y 通过 npm 安装 npm i vant weapp
  • Ubuntu下如何将普通用户提升到root权限

    1 打开超级终端 输入指令sudo gedit etc passwd 2 则找到crystal x 1000 1000 crystal home linuxidc bin bash 将两个1000改成0即可 3 重新登陆之后打开超级终端发现
  • BLEU 评价指标总结

    Bleu 评测 一 Bleu通常用来度量一组机器产生的翻译句子集合 candidates 与一组人工翻译句子集合 references 的相似程度 Bleu的具体计算过程看下图 在这里解释一下 式中的n 为当前匹配n gram的长度 这里的
  • Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR Optical Character Recognition 光学字符识别 引擎 本文就介绍一下自己在编译 tesseract4 1 0时遇到的一些坑 希望能给大家带来一些帮助 一 下载 tessera
  • mybatis mysql autoreconnect=true_Mysql8.0主从搭建,shardingsphere+springboot+mybatis读写分离...

    cd usr local mysql mkdir mysql files chown mysql mysql mysql files chmod 750 mysql files bin mysqld initialize user mysq
  • StringUtils中 isNotEmpty 和isNotBlank的区别 以及StringUtil类的方法

    StringUtils方法的操作对象是java lang String类型的对象 是JDK提供的String类型操作方法的补充 并且是null安全的 即如果输入参数String为null则不会抛出NullPointerException 而