StringUtils.isBlank(str)和StringUtils.isEmpty(str)的区别
1.StringUtils.isEmpty(CharSequence cs)实现源码
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}
从源码发现StringUtils.isEmpty(CharSequence cs)是判断了cs为null或cs.length()=0,但是我们要判断空白字符或者换行符等特殊的转义字符时,它的长度都是大于0的,所以用isEmpty判断是不行的
2.StringUtils.isBlank(CharSequence cs)实现源码
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;
}
}从上可以发现,StringUtils.isBlank方法中比isEmpty多判断了空白字符即方法Character.isWhitespace 空白符有:空格、tab 键\n、换行符\t、回车符 \r 、换页符 \f
测试代码:
public static void main(String[] args) {
//isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab 键、换行符。
System.out.println(Character.isWhitespace('c'));
System.out.println(Character.isWhitespace(' '));
System.out.println(Character.isWhitespace('\n'));
System.out.println(Character.isWhitespace('\t')); String str = "c";
String str1 = "";
String str2 = " ";
String str3 = "\n";
String str4 = "\t";
System.out.println("is blank:" + StringUtils.isBlank(str3));
System.out.println("is empty:" + StringUtils.isEmpty(str3));
}
false
true
true
true
is blank:true
is empty:false
3.结论
若要过滤掉空白符用StringUtils.isBlank方法,若仅仅是判断字符是否为null或长度是否为0则用StringUtils.isEmpty
StringUtils.isBlank(str)和StringUtils.isEmpty(str)的区别的更多相关文章
- Apache Commons Lang的StringUtils.isEmpty(STR)和StringUtils.isBlank(STR)
Apache Commons Lang是常用的基础框架,其中字符串判空在项目中尤为常用,而自己常常忘记他们的区别. package com.nicchagil.test; import org.apa ...
- StringUtils.isEmpty和StringUtils.isBlank用法
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...
- String工具类之“四个判空方式”StringUtils.isNotBlank和StringUtils.isEmpty和StringUtils.isBlank和StringUtils.isNotEmpty
一.判断str字符串都不为空==>StringUtils.isNotBlank(String str); 1 /** 2 * <p>检查一个字符串是否非空("") ...
- org.apache.commons.lang3.StringUtils类中isBlank和isEmpty方法的区别
相信很多java程序员在写代码的时候遇到判断某字符串是否为空的时候会用到StringUtils类中isBlank和isEmpty方法,这两个方法到底有什么区别呢?我们用一段代码来阐述这个区别吧: @T ...
- StringUtils.isEmpty StringUtils.isBlank
两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...
- StringUtils.isEmpty和StringUtils.isBlank用法和区别
两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...
- StringUtils.isEmpty和StringUtils.isBlank的区别
两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...
- StringUtils工具类中的isBlank()方法和isEmpty()方法的区别
1.isBlank()方法 1 public static boolean isBlank(String str) { 2 int strLen; 3 if (str == null || (strL ...
- spring util包 StringUtils工具类中的isEmpty() 方法解析
今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...
随机推荐
- Java实习生常规技术面试题每日十题Java基础(四)
目录 1.String 和StringBuffer的区别. 2.数组有没有length()这个方法? String有没有length()这个方法? 3.final, finally, finalize ...
- Centos7下yum安装mydql8
昨天安装mydql时总是报错缺少插件,虽然最后安装上了,但还是在此记录下 一. 安装centos7系统系统 在选择安装基本环境时,选择基本环境为"网页服务器",昨天我因为选择了&l ...
- 下面哪些命令可以查看file1文件的第300-500行的内容?
下面哪些命令可以查看file1文件的第300-500行的内容? cat file1 | tail -n +300 | head -n 200 cat file1| head -n 500 | tail ...
- [ bootstrap ] 图片内容占用padding的范围,如何解决?
问题描述: 从效果图看到,图片内容占据了padding的范围,怎么解决呢? html代码 <div class="container"> <div class=& ...
- 第10组 Alpha冲刺 (3/6)(组长)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/13971668.html ·作业博客:https://edu.cnblogs.co ...
- Allwinner F1C100s coremark测试
ccu register base:0x01c20000 devmem 0x01c20000 The PLL output=(24MHz*N*K)/(M*P) N=31 K=1 M=1 P=/1 re ...
- JAVA SOCKET 详解
概述 本人在开发学习NETTY的过程中,需要了解很多的网络开发知识,在此我总结一些关于socket的基础知识,大部分是网络总结,在此篇的随笔中记录socket的知识,以便于记录,如有问题欢迎大家斧正. ...
- MRCTF2020 套娃
MRCTF2020套娃 打开网页查看源代码 关于$_SERVER['QUERY_STRING']取值,例如: http://localhost/aaa/?p=222 $_SERVER['QUERY_S ...
- sql中常用到的GUID
在项目的数据库中经常见到如下所示的列: 列名:**_id 数据类型:UNIQUEIDENTIFIER 默认:NEWID() ROWGUIDCOL 属性. 其实这样的列通常为表的主键,函数NEWID() ...
- Centos 7 安装LAMP以及在Apache上安装positiveSSL。
简介 LAMP(linux , Apache, mysql , php)是集成动态网站经常使用的一套开源软件,实际包含linux操作系统,Apache web服务器,mysql(mariadb 分支) ...