当前位置:网站首页>还在用==0 null equal 判断空值吗,对isEmpty 和 isBlank有多少了解呢
还在用==0 null equal 判断空值吗,对isEmpty 和 isBlank有多少了解呢
2022-07-26 01:58:00 【凌晨里的无聊人】
也许你两个都不知道,也许你除了
isEmpty/ isNotEmpty/
isNotBlank/isBlank外,并不知道还有
isAnyEmpty/isNoneEmpty/
isAnyBlank/isNoneBlank的存在,
come on ,让我们一起来探索org.apache.commons.lang3.StringUtils;这个工具类。

StringUtils的其他方法
可以参考官方的文档,里面有详细的描述,有些方法还是很好用的。
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
上面是一些方法的介绍,接下来将举例其中的一些方法
isEmpty系列
1 StringUtils.isEmpty()
是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")=false
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
/** * * <p>NOTE: This method changed in Lang version 2.0. * It no longer trims the CharSequence. * That functionality is available in isBlank().</p> * * @param cs the CharSequence to check, may be null * @return {@code true} if the CharSequence is empty or null * @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence) */
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
StringUtils.isNotEmpty()
相当于不为空 , = !isEmpty()。
public static boolean isNotEmpty(final CharSequence cs) {
return !isEmpty(cs);
}
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true。
StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, "foo") = true
StringUtils.isAnyEmpty("", "bar") = true
StringUtils.isAnyEmpty("bob", "") = true
StringUtils.isAnyEmpty(" bob ", null) = true
StringUtils.isAnyEmpty(" ", "bar") = false
StringUtils.isAnyEmpty("foo", "bar") = false
/** * @param css the CharSequences to check, may be null or empty * @return {@code true} if any of the CharSequences are empty or null * @since 3.2 */
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;
}
StringUtils.isNoneEmpty()
相当于!isAnyEmpty(css) , 必须所有的值都不为空才返回true
StringUtils.isNoneEmpty(null) = false
* StringUtils.isNoneEmpty(null, "foo") = false
* StringUtils.isNoneEmpty("", "bar") = false
* StringUtils.isNoneEmpty("bob", "") = false
* StringUtils.isNoneEmpty(" bob ", null) = false
* StringUtils.isNoneEmpty(" ", "bar") = true
* StringUtils.isNoneEmpty("foo", "bar") = true
isBank系列
StringUtils.isBlank()
是否为真空值(空格或者空值)
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
StringUtils.isNotBlank()
是否真的不为空,不是空格或者空值 ,相当于!isBlank();
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
StringUtils.isAnyBlank(null) = true
StringUtils.isAnyBlank(null, "foo") = true
StringUtils.isAnyBlank(null, null) = true
StringUtils.isAnyBlank("", "bar") = true
StringUtils.isAnyBlank("bob", "") = true
StringUtils.isAnyBlank(" bob ", null) = true
StringUtils.isAnyBlank(" ", "bar") = true
StringUtils.isAnyBlank("foo", "bar") = false
StringUtils.isNoneBlank()
是否全部都不包含空值或空格
StringUtils.isNoneBlank(null) = false
StringUtils.isNoneBlank(null, "foo") = false
StringUtils.isNoneBlank(null, null) = false
StringUtils.isNoneBlank("", "bar") = false
StringUtils.isNoneBlank("bob", "") = false
StringUtils.isNoneBlank(" bob ", null) = false
StringUtils.isNoneBlank(" ", "bar") = false
StringUtils.isNoneBlank("foo", "bar") = true
本文参考于微信公众号: JAVA葵花宝典
边栏推荐
- Why does the debugger display the wrong function
- The work of robot engineering and the puzzle of postgraduate entrance examination "volume" supplement
- Study notes: original code, inverse code, complement code
- 阿里云Redis开发规范
- 登堂入室soc之arm汇编基础
- Detailed explanation of redis6.x configuration parameters
- 【独立站建设】shopify卖家:学会这几点,网上商店销量翻倍!
- 转:高效做正确的事
- After reading this article, you should thoroughly understand how to do interface testing
- Create a future and enjoy extraordinary | gbase Nantah General Motors unveiled opengauss Developer Day 2022
猜你喜欢

3、 Pinda general permission system__ pd-tools-swagger2

6 + 1 skills of Software Test Engineer

CPU的三种模式

Recommend a super good UI automation tool: uiautomator2!

【Verilog数字系统设计(夏宇闻)4-----Verilog语法的基本概念2】

DialogRPT-Dialog Ranking Pretrained Transformers
![[Verilog digital system design (Xia Yuwen) 4 ----- basic concepts of Verilog syntax 2]](/img/fe/746ecaf4123072cca59d7510e9796c.png)
[Verilog digital system design (Xia Yuwen) 4 ----- basic concepts of Verilog syntax 2]

IP address of the network

Worthington nuclease and Micrococcus related research and determination scheme

Three modes of CPU
随机推荐
Move bricks (greedy perturbation + 01 backpack)
DialogRPT-Dialog Ranking Pretrained Transformers
"Weilai Cup" 2022 Niuke summer multi school training camp 2 h.[take the elevator] maintenance section
Create a future and enjoy extraordinary | gbase Nantah General Motors unveiled opengauss Developer Day 2022
Worthington产气荚膜梭菌神经氨酸酶的特征及测定
mysql 事务隔离级别
阿里云Redis开发规范
MPLS知识点
AutoCAD -- Method of calculating area
Study notes: original code, inverse code, complement code
Alibaba cloud redis development specification
Overview of database stress testing methods
The import and Export button of Damon database table is gray, and the DMP file cannot be imported
Phoenix中常用shell操作
CPU的三种模式
SVN version control branch and merge function use
图像批处理高斯滤波降噪+峰值信噪比计算
P3166 number triangle (tolerance and exclusion +gcd)
Leetcode algorithm 147. insert and sort the linked list
IP address of the network