org.apache.commons.lang3包下的StringUtils工具类的使用
前言
相信平时在写项目的时候,一定使用到StringUtils.isEmpty();StringUtils.isBlank();但是你真的了解他们吗?
也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在。
maven对应的包:
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.17.0</version></dependency>
maven坐标:https://mvnrepository.com/
一、isEmpty()系列
isEmpty():会绕过空值的判断
@Testpublic void testStringUtils(){boolean empty = StringUtils.isEmpty(null);System.out.println(empty);//trueboolean empty1 = StringUtils.isEmpty("");System.out.println(empty1);//true//字符串时空,但是输出的是falseboolean empty2 = StringUtils.isEmpty(" ");System.out.println(empty2);//falseboolean empty3 = StringUtils.isEmpty("HelloWorld!");System.out.println(empty3);//falseboolean empty4 = StringUtils.isEmpty(" HelloWorld! ");System.out.println(empty4);//false}
源码:
@Deprecatedpublic static boolean isEmpty(@Nullable Object str) {return str == null || "".equals(str);}
@Deprecated注解:标记该方法过时了,在以后得版本中可能会被代替。
isNotEmpty():相当于不为空
public static boolean isNotEmpty(final CharSequence cs) {return !isEmpty(cs);}
isAnyEmpty():只要有一个为空,就是true
@Testpublic void testStringUtils(){System.out.println(StringUtils.isAnyEmpty("Hello", "World"));//falseSystem.out.println(StringUtils.isAnyEmpty(null, "HelloWorld"));//trueSystem.out.println(StringUtils.isAnyEmpty("", " "));//trueSystem.out.println(StringUtils.isAnyEmpty(" ", " "));//false}
源码:
public static boolean isAnyEmpty(final CharSequence... css) {if (ArrayUtils.isEmpty(css)) {return true;}for (final CharSequence cs : css){if (isEmpty(cs)) {return true;}}return false;
}
isNoneEmpty():相当于!isAnyEmpty(css) , 必须所有的值都不为空才返回true
@Testpublic void testStringUtils(){System.out.println(StringUtils.isNoneEmpty("Hello", "World"));//trueSystem.out.println(StringUtils.isNoneEmpty(null, "HelloWorld"));//falseSystem.out.println(StringUtils.isNoneEmpty("", " "));//falseSystem.out.println(StringUtils.isNoneEmpty(" ", " "));//true}
二、isBank()系列
和isEmpty()基本一样,但是判断" "的时候,结果不一样。
@Testpublic void testStringUtils(){boolean empty2 = StringUtils.isBlank(" ");System.out.println(empty2);//true}
三、常用的方法
equals():严格的比较两个字符串是不是相等
@Testpublic void testStringUtils(){System.out.println(StringUtils.equals("HelloWorld", "HelloWorld"));//trueSystem.out.println(StringUtils.equals("", " "));//falseSystem.out.println(StringUtils.equals(" HelloWorld ", "HelloWorld"));//falseSystem.out.println(StringUtils.equals(" ", " "));//falseSystem.out.println(StringUtils.equals("", ""));//trueSystem.out.println(StringUtils.equals(" ", " "));//trueSystem.out.println(StringUtils.equals("",null));//falseSystem.out.println(StringUtils.equals(" ",null));//false}
四、其他的方法


相关文章:
org.apache.commons.lang3包下的StringUtils工具类的使用
前言 相信平时在写项目的时候,一定使用到StringUtils.isEmpty();StringUtils.isBlank();但是你真的了解他们吗? 也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNon…...
HarmonyOS4+NEXT星河版入门与项目实战(23)------组件转场动画
文章目录 1、控件图解2、案例实现1、代码实现2、代码解释3、实现效果4、总结1、控件图解 这里我们用一张完整的图来汇整 组件转场动画的用法格式、属性和事件,如下所示: 2、案例实现 这里我们对上一节小鱼游戏进行改造,让小鱼在游戏开始的时候增加一个转场动画,让小鱼自…...
十一、快速入门go语言之接口和反射
文章目录 接口:one: 接口基础:two: 接口类型断言和空接口:star2: 空接口实现存储不同数据类型的切片/数组:star2: 复制切片到空接口切片:star2: 类型断言 反射 📅 2024年5月9日 📦 使用版本为1.21.5 接口 十、Java类的封装和继承、多态 - 七点半的菜市…...
智能化图书馆导航系统方案之系统架构与核心功能设计
hello~这里是维小帮,点击文章最下方获取图书馆导航系统解决方案!如有项目需求和技术交流欢迎大家私聊我们~撒花! 针对传统图书馆在图书查找困难、座位紧张、空间导航不便方面的问题,本文深入剖析了基于高精度定位、3D建模、图书搜…...
学习嵩山版《Java 开发手册》:编程规约 - 命名风格(P13 ~ P14)
概述 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,他旨在提升开发效率和代码质量 《Java 开发手册》是一本极具价值的 Java 开发规范指南,对于提升开发者的综合素质和代码质量具有重要意义 学习《Java 开发手册》是一个提升 Jav…...
Qt关于padding设置不起作用的的解决办法
观察以下的代码: MyWidget::MyWidget(QWidget *parent): QWidget{parent},m_btn(new QToolButton(this)) {this->setFixedSize(500,500);m_btn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);m_btn->setIcon(QIcon("F:tabIcon/person-white.s…...
Golang教程第10篇(语言循环语句-语言循环嵌套)
Go 语言循环嵌套 Go 语言循环语句Go 语言循环语句 Go 语言允许用户在循环内使用循环。接下来我们将为大家介绍嵌套循环的使用。 语法 以下为 Go 语言嵌套循环的格式: for [condition | ( init; condition; increment ) | Range] {for [condition | ( init; con…...
Python Web 开发:FastAPI 入门实战 —— HTTP 基础与 RESTful API 设计
Python Web 开发:FastAPI 入门实战 —— HTTP 基础与 RESTful API 设计 目录 🚀 HTTP 协议概述🌐 HTTP 请求与响应的工作原理🛠️ RESTful API 设计理念🗂️ JSON 格式数据的传输与解析 1. 🚀 HTTP 协议概…...
uniapp实现组件竖版菜单
社区图片页面 scroll-view scroll-view | uni-app官网 (dcloud.net.cn) 可滚动视图区域。用于区域滚动。 需注意在webview渲染的页面中,区域滚动的性能不及页面滚动。 <template><view class"pics"><scroll-view class"left"…...
osg、osgearth源码编译(二)
如果比较懒,也可以不看这篇文章,网上应该有很多编译好的库。也可以找我要。 本人还是建议学会编译,因为其他人电脑上编译好的,可能在你的电脑环境上,出现这样那样奇怪的问题,所以,最好还是自己能…...
从单一设备到万物互联:鸿蒙生态崛起的未来之路
目录 一、引言:开启智能时代的钥匙 二、鸿蒙生态概述:跨设备协同的核心价值 三、开发者机遇与挑战:抓住鸿蒙崛起的机会 四、鸿蒙生态崛起的前景:万物互联的未来 五、开发者在鸿蒙生态中的实践机遇与挑战 1. 跨设备开发的机遇…...
Kotlin的object修饰符定义类似Java的静态类/静态方法
Kotlin的object修饰符定义类似Java的静态类/静态方法 //类似Java的static类 object StaticCls {//类似Java静态变量private var num 0//类似Java的静态方法fun updateVal(n: Int) {num n}fun getVal(): Int {return num} }class MyTest() {fun setVal() {StaticCls.updateVal…...
html 中的 <code>标签
定义和用途 <code> 标签是HTML中的一个内联元素,用于定义计算机代码片段。当你需要在网页内容中展示代码,比如编程语言代码(如JavaScript、Python、Java等)、命令行指令、标记语言代码(如HTML、XML等)…...
【Oracle11g SQL详解】GROUP BY 和 HAVING 子句:分组与过滤
GROUP BY 和 HAVING 子句:分组与过滤 在 Oracle 11g 中,GROUP BY 子句用于根据一个或多个列对查询结果进行分组,而 HAVING 子句用于对分组后的结果进行过滤。这两者常结合聚合函数使用,用以实现复杂的数据统计和分析。本文将系统…...
SSE基础配置与使用
什么是 Server-Sent Events (SSE) **Server-Sent Events (SSE) **是一种轻量的服务器向客户端推送消息的机制,基于 HTTP 协议实现单向通信,适用于需要实时更新的场景。 与 WebSocket 不同,SSE 只允许服务器向客户端发送数据,因此…...
Android -- 简易音乐播放器
Android – 简易音乐播放器 播放器功能:* 1. 播放模式:单曲、列表循环、列表随机;* 2. 后台播放(单例模式);* 3. 多位置同步状态回调;处理模块:* 1. 提取文件信息:音频文…...
【开源免费】基于Vue和SpringBoot的技术交流分享平台(附论文)
博主说明:本文项目编号 T 053 ,文末自助获取源码 \color{red}{T053,文末自助获取源码} T053,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...
Python异步编程新写法:asyncio模块的最新实践
Python异步编程新写法:asyncio模块的最新实践 引言1. 异步编程基础2. 旧写法的问题3. 最新的写法4. 代码解析5. 最佳实践6. 总结7. 参考资料 引言 在现代编程中,异步编程已经成为提高程序性能和响应能力的重要手段。Python的asyncio模块为开发者提供了一…...
【Docker】Docker配置远程访问
配置Docker的远程访问,你需要按照以下步骤进行操作: 1. 在Docker宿主机上配置Docker守护进程监听TCP端口 Docker守护进程默认只监听UNIX套接字,要实现远程访问,需要修改配置以监听TCP端口。 方法一:修改Docker服务…...
网络安全入门之网络安全工具分享-含初期所有工具(附百度网盘链接)
网络安全基础工具 抓包工具 burpsuite 这是一款十分经典的抓包改包工具,在全球范围内使用十分广泛,并且其内置各种插件,具有爆破,自动识别验证码,加解密发包等多种功能 专业版破解网盘链接: 通过百度网…...
Topit:突破macOS窗口层级限制,打造极致高效的多任务工作流
Topit:突破macOS窗口层级限制,打造极致高效的多任务工作流 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 想象一下这样的场景ÿ…...
WhisperPlus自动字幕生成:为视频添加多语言字幕的简单方法
WhisperPlus自动字幕生成:为视频添加多语言字幕的简单方法 【免费下载链接】whisper-plus WhisperPlus: Faster, Smarter, and More Capable 🚀 项目地址: https://gitcode.com/gh_mirrors/wh/whisper-plus WhisperPlus是一款功能强大的工具&…...
HEIF Utility:Windows平台HEIF格式兼容性完整解决方案实战
HEIF Utility:Windows平台HEIF格式兼容性完整解决方案实战 【免费下载链接】HEIF-Utility HEIF Utility - View/Convert Apple HEIF images on Windows. 项目地址: https://gitcode.com/gh_mirrors/he/HEIF-Utility 对于使用iPhone或iPad的Windows用户而言&a…...
终极风扇控制指南:如何用开源工具FanControl精准调节你的电脑散热系统
终极风扇控制指南:如何用开源工具FanControl精准调节你的电脑散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/Git…...
ComfyUI-Impact-Pack完全指南:如何彻底解决AI图像细节增强难题
ComfyUI-Impact-Pack完全指南:如何彻底解决AI图像细节增强难题 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址: …...
拆解OpenWrt的.ipk安装包:从文件结构到手动安装,彻底搞懂opkg底层逻辑
OpenWrt软件包深度解析:从.ipk结构到手动安装全指南 1. OpenWrt软件包管理机制揭秘 对于OpenWrt用户来说,opkg命令是日常管理软件包的基础工具。但当你遇到网络连接问题无法在线安装,或者需要定制修改软件包时,理解其背后的工作机…...
别再手动敲命令了!用Shell的Here Document(EOF)自动化你的SFTP/MySQL登录操作
告别重复输入:用Here Document实现命令行自动化 每次登录SFTP服务器都要手动输入密码?数据库操作总得反复敲命令?运维工程师的日常被这些重复劳动占据了大半时间。Here Document技术正是为解放你的双手而生——这种源自Unix传统的脚本编写技巧…...
高版本MATLAB机器人工具箱plot/teach视图兼容性修复实战
1. 问题现象与背景分析 最近在MATLAB 2019b上使用机器人工具箱(Robotics Toolbox)时遇到了一个奇怪的问题。当我像往常一样调用robot.plot()或者robot.teach()函数时,控制台突然报错:"索引超出数组元素数目(4)"。这个错…...
Rusted PackFile Manager (RPFM):全面战争模组制作的终极利器
Rusted PackFile Manager (RPFM):全面战争模组制作的终极利器 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: http…...
Nintendo Switch大气层系统:7步从零安装到精通优化完整指南
Nintendo Switch大气层系统:7步从零安装到精通优化完整指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想要彻底释放你的Nintendo Switch游戏机潜力吗?Atmosphe…...
