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}

四、其他的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/481844.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode中json文件的注释飘红

vscode的json文件 添加注释&#xff0c;提示json中不允许有注释&#xff0c;点编辑器最下面的json&#xff0c;如下图 然后选择如上图的json with comments就好了

【AI日记】24.11.30 kaggle 比赛 Titanic-3

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容&#xff1a;学习 kaggle 入门比赛 Titanic - Machine Learning from Disaster&#xff0c;学习机器学习课程时间&#xff1a;5 小时评估&#xff1a;继续 读书 书名&#xff1a;美丽新世界时间&a…

抓包之查看websocket内容

写在前面 本文看下websocket抓包相关内容。 1&#xff1a;正文 websocket基础环境搭建参考这篇文章。 启动后&#xff0c;先看chrome的network抓包&#xff0c;这里我们直接使用is:running来过滤出websocket的请求&#xff1a; 可以清晰的看到发送的内容以及响应的内容。在…

开源项目:纯Python构建的中后台管理系统

来源&#xff1a;Python大数据分析 费弗里 大家好我是费老师&#xff0c;目前市面上有很多开源的「中后台管理系统」解决方案&#xff0c;复杂如「若依」那种前端基于Vue&#xff0c;后端基于Java的框架&#xff0c;虽然其提供了较为完善的一整套前后端分离权限管理系统解决方…

Power BI - Connect to SharePoint online list with Image column

1.简单介绍 当前SharePoint online list有modern和classic两种模式&#xff0c;现在使用modern模式的比较多。list中有Image类型的列&#xff0c;Power BI如何连接到SharePoint list并显示image呢 note, SharePoint list中的Image列&#xff0c;Lookup列&#xff0c;People列…

DroneCAN 最新开发进展,Andrew在Ardupilot开发者大会2024的演讲

本文是Andrew演讲的中文翻译&#xff0c;你可以直接观看视频了解演讲的全部内容&#xff0c;此演讲视频的中文版本已经发布在Ardupilot社区的Blog板块&#xff0c;你可以在 Arudpilot官网&#xff08;https://ardupilot.org) 获取该视频&#xff1a; 你也可以直接通过Bilibili链…

DataWhale—PumpkinBook(TASK07支持向量机)

课程开源地址及相关视频链接&#xff1a;&#xff08;当然这里也希望大家支持一下正版西瓜书和南瓜书图书&#xff0c;支持文睿、秦州等等致力于开源生态建设的大佬✿✿ヽ(▽)ノ✿&#xff09; Datawhale-学用 AI,从此开始 【吃瓜教程】《机器学习公式详解》&#xff08;南瓜…

基于Python制作一个简易UI界面

基于Python制作一个简易UI界面 目录 基于Python制作一个简易UI界面1 原理简介2 编写程序3 程序测试 1 原理简介 这里用到了Python自带的UI库tkinter。 tkinter 是 Python 的标准 GUI&#xff08;图形用户界面&#xff09;库&#xff0c;用于创建和管理图形界面。它提供了一个简…

【electron-vite】搭建electron+vue3框架基础

一、拉取项目 electron-vite 中文文档地址&#xff1a; https://cn-evite.netlify.app/guide/ 官网网址&#xff1a;https://evite.netlify.app/ 版本 vue版本&#xff1a;vue3 构建工具&#xff1a;vite 框架类型&#xff1a;Electron JS语法&#xff1a;TypeScript &…

操作无法完成,因为其中的文件夹或文件已在另一程序中打开 请关闭该文件夹或文件,然后重试。>>怎么删除被打开的文件

出现这种弹窗是不是很烦人, 也很烦我, 今天就了结了它 我们可以使用一款命令行工具来查看哪些软件正在占用这个文件, 把这些使用文件的软件进程都关闭就可以了 解决办法: 1.下载命令行工具handle 打开浏览器&#xff0c;访问 Sysinternals 官方网站的 Handle 页面, 在页面上…

修改IDEA配置导致Spring Boot项目读取application.properties中文乱码问题

之前很多配置都是放在nacos里面&#xff0c;然后这次同事有个配置写在application.properties中&#xff0c;这个配置含有中文&#xff0c;启动之后发现拿到的中文值会乱码&#xff0c;然后就帮忙看了一下问题。 排查问题 经过不停的百度、排查发现&#xff0c;spring读取app…

常用端口与Udp协议

目录 1.再谈端口 1.1 五元组 1.2 端口号范围划分 1.3 两个指令 1.3.1 netstat 1.3.2 pidof 2.UDP协议 2.1 协议整体格式 2.2 udp特点 2.3 udo缓冲区 1.再谈端口 1.1 五元组 端口号表示了一个主机上进行通信的不同的应用程序&#xff1b;在Tcp/IP协议中&#xff0c;用…

webpack(react)基本构建

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它的主要功能是将各种资源&#xff08;如 JavaScript、CSS、图片等&#xff09;视为模块&#xff0c;并将它们打包成一个或多个输出文件&#xff0c;以便…

MATLAB期末复习笔记(中)

三、MATLAB函数和程序结构 1.MATLAB文件 两种类型的M文件&#xff1a; • 脚本 &#xff0c;不接受输入参数或返回输出参数。它们处理工作区中的数据。 • 函数 &#xff0c;可接受输入参数&#xff0c;并返回输出参数。内部变量是函数的局部变量。 ① 函数文件是另一类 m 文…

Mouser EDI 需求分析

为了提高供应链的自动化水平&#xff0c;贸泽电子&#xff08;Mouser Electronics&#xff09;使用EDI技术更好地管理与其全球合作伙伴之间的业务数据往来。对接Mouser EDI&#xff0c;对于企业而言&#xff0c;需要在本地部署EDI软件&#xff0c;建立与Mouser之间的EDI连接通道…

[免费]SpringBoot+Vue景区订票(购票)系统【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue大景区订票(购票)系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue景区订票(购票)系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 现代经济快节奏发展以及不断完善升级的信息…

GitLab的使用

文章目录 一、什么是GitLab、有什么用、与Jenkins的区别什么是GitLab及其用途GitLab与Jenkins的区别GitLab的CI/CD功能介绍 二、GitLab的安装与配置Linux下GitLab的安装*Linux下GitLab的简单使用 /etc/gitlab/gitlab.rb 的配置GitLab服务器的域名邮箱配置功能优化关闭一些暂时不…

通信与网络基础

1.网络通信基本概念 通信&#xff1a;人、物通过某种介质和行为进行信息传递与交流 网络通信&#xff1a;终端设备之间通过计算机网络进行通信 两个终端通过网线传递文件 多个终端通过路由器传递文件 终端通过Internet下载文件 2.信息传递过程 图1-1 假定A计算机访问B的web…

RAT:融合RAG和CoT的高效多步推理任务策略

今天分享的是由北京大学、加州大学洛杉矶分校和北京通用人工智能研究院合作发表的一篇文章 论文题目:RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Horizon Generation 论文链接:https://arxiv.org/pdf/2403.05313 代码地址:https://githu…

应急响应靶机——Windows挖矿事件

载入虚拟机&#xff0c;开启虚拟机&#xff1a; &#xff08;账户密码&#xff1a;administrator/zgsf123&#xff09; 发现登录进去就弹出终端界面&#xff0c;自动运行powshell命令&#xff0c;看来存在计划任务&#xff0c;自动下载了一些文件&#xff0c;之后就主动结束退…