博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java语言基础之StringUtils中 isNotEmpty 和isNotBlank的区别
阅读量:2083 次
发布时间:2019-04-29

本文共 1304 字,大约阅读时间需要 4 分钟。

我们在进行后端研发的操作的时候,经常性的会进行一些对字符串的非空判定,但是在StringUtil的接口之下有很多进行判定是否为空的条件:

其中最为主要使用的就是StringUtil.isNotBlank(),和StringUtil.isNotEmpty();
我们先来看看二者接口方法的源代码:

isNotBlank()

public static boolean isNotBlank(CharSequence cs) {
return !isBlank(cs); }

isBlank()

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; } }

isNotEmpty()

public static boolean isNotEmpty(CharSequence cs) {
return !isEmpty(cs); }

isEmpty()

public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0; }

其实通过方法的底层源代码就可看出二者的区别:

1.isEmpty 没有忽略空格参数,是以是否为空和是否存在为判断依据。

2.isBlank 是在 isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。

二者的主要区别在于对于空格字符串以及特殊符号的字符串,/t,/n的时候isEmpty()返回的结果为true

isBlank返回的结果为false

以下是几个实际的例子:

StringUtils.isEmpty("yyy") = falseStringUtils.isEmpty("") = trueStringUtils.isEmpty("  ") = false  StringUtils.isBlank("yyy") = falseStringUtils.isBlank("") = trueStringUtils.isBlank(" ") = true

简单来说,blank内容为空,所以空格也是为空

empty是否为空,所以空格非空。

转载地址:http://wbnqf.baihongyu.com/

你可能感兴趣的文章
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>
【托业】【新东方全真模拟】01~02-----P5~6
查看>>
【托业】【新东方全真模拟】03~04-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>