Java - StringUtils 中 isNotEmpty 和 isNotBlank 区别

简介: Java - StringUtils 中 isNotEmpty 和 isNotBlank 区别

主要的区别在于“空格”判断

  • isNotEmpty("空格")=> true
  • isNotBlank("空格")=> false
isNotEmpty(str)等价于str!=null&&str.length>0isNotBlank(str) 等价于str!=null&&str.length>0&&str.trim().length>0// 同理isEmpty等价于str==null||str.length==0isBlank等价于str==null||str.length==0||str.trim().length==0
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()
1.publicstaticbooleanisEmpty(Stringstr)
判断某字符串是否为空,为空的标准是str==null或str.length()==0下面是StringUtils判断是否为空的示例:StringUtils.isEmpty(null) =trueStringUtils.isEmpty("") =trueStringUtils.isEmpty(" ") =false//注意在StringUtils中空格作非空处理StringUtils.isEmpty(" ") =falseStringUtils.isEmpty("bob") =falseStringUtils.isEmpty(" bob ") =false2.publicstaticbooleanisNotEmpty(Stringstr)
判断某字符串是否非空,等于!isEmpty(Stringstr)
下面是示例:StringUtils.isNotEmpty(null) =falseStringUtils.isNotEmpty("") =falseStringUtils.isNotEmpty(" ") =trueStringUtils.isNotEmpty(" ") =trueStringUtils.isNotEmpty("bob") =trueStringUtils.isNotEmpty(" bob ") =true3.publicstaticbooleanisBlank(Stringstr)
判断某字符串是否为空或长度为0或由空白符(whitespace)构成下面是示例:StringUtils.isBlank(null) =trueStringUtils.isBlank("") =trueStringUtils.isBlank(" ") =trueStringUtils.isBlank(" ") =trueStringUtils.isBlank("\t \n \f \r") =true//对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符StringUtils.isBlank("\b") =false//"\b"为单词边界符StringUtils.isBlank("bob") =falseStringUtils.isBlank(" bob ") =false4.publicstaticbooleanisNotBlank(Stringstr)
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(Stringstr)
下面是示例:StringUtils.isNotBlank(null) =falseStringUtils.isNotBlank("") =falseStringUtils.isNotBlank(" ") =falseStringUtils.isNotBlank(" ") =falseStringUtils.isNotBlank("\t \n \f \r") =falseStringUtils.isNotBlank("\b") =trueStringUtils.isNotBlank("bob") =trueStringUtils.isNotBlank(" bob ") =true其他方法介绍:5.publicstaticStringtrim(Stringstr)
去掉字符串两端的控制符(controlcharacters, char<=32),如果输入为null则返回null下面是示例:StringUtils.trim(null) =nullStringUtils.trim("") =""StringUtils.trim(" ") =""StringUtils.trim(" \b \t \n \f \r ") =""StringUtils.trim(" \n\tss \b") ="ss"StringUtils.trim(" d d dd ") ="d d dd"StringUtils.trim("dd ") ="dd"StringUtils.trim(" dd ") ="dd"6.publicstaticStringtrimToNull(Stringstr)
去掉字符串两端的控制符(controlcharacters, char<=32),如果变为null或"",则返回null下面是示例:StringUtils.trimToNull(null) =nullStringUtils.trimToNull("") =nullStringUtils.trimToNull(" ") =nullStringUtils.trimToNull(" \b \t \n \f \r ") =nullStringUtils.trimToNull(" \n\tss \b") ="ss"StringUtils.trimToNull(" d d dd ") ="d d dd"StringUtils.trimToNull("dd ") ="dd"StringUtils.trimToNull(" dd ") ="dd"7.publicstaticStringtrimToEmpty(Stringstr)
去掉字符串两端的控制符(controlcharacters, char<=32),如果变为null或"",则返回""下面是示例:StringUtils.trimToEmpty(null) =""StringUtils.trimToEmpty("") =""StringUtils.trimToEmpty(" ") =""StringUtils.trimToEmpty(" \b \t \n \f \r ") =""StringUtils.trimToEmpty(" \n\tss \b") ="ss"StringUtils.trimToEmpty(" d d dd ") ="d d dd"StringUtils.trimToEmpty("dd ") ="dd"StringUtils.trimToEmpty(" dd ") ="dd"8.publicstaticStringstrip(Stringstr)
去掉字符串两端的空白符(whitespace),如果输入为null则返回null下面是示例(注意和trim()的区别)StringUtils.strip(null) =nullStringUtils.strip("") =""StringUtils.strip(" ") =""StringUtils.strip(" \b \t \n \f \r ") ="\b"StringUtils.strip(" \n\tss \b") ="ss \b"StringUtils.strip(" d d dd ") ="d d dd"StringUtils.strip("dd ") ="dd"StringUtils.strip(" dd ") ="dd"9.publicstaticStringstripToNull(Stringstr)
去掉字符串两端的空白符(whitespace),如果变为null或"",则返回null下面是示例(注意和trimToNull()的区别)StringUtils.stripToNull(null) =nullStringUtils.stripToNull("") =nullStringUtils.stripToNull(" ") =nullStringUtils.stripToNull(" \b \t \n \f \r ") ="\b"StringUtils.stripToNull(" \n\tss \b") ="ss \b"StringUtils.stripToNull(" d d dd ") ="d d dd"StringUtils.stripToNull("dd ") ="dd"StringUtils.stripToNull(" dd ") ="dd"10.publicstaticStringstripToEmpty(Stringstr)
去掉字符串两端的空白符(whitespace),如果变为null或"",则返回""下面是示例(注意和trimToEmpty()的区别)StringUtils.stripToNull(null) =""StringUtils.stripToNull("") =""StringUtils.stripToNull(" ") =""StringUtils.stripToNull(" \b \t \n \f \r ") ="\b"StringUtils.stripToNull(" \n\tss \b") ="ss \b"StringUtils.stripToNull(" d d dd ") ="d d dd"StringUtils.stripToNull("dd ") ="dd"StringUtils.stripToNull(" dd ") ="dd"
目录
相关文章
|
6天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
23天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
2月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
3月前
|
Java
java基础(4)public class 和class的区别及注意事项
本文讲解了Java中`public class`与`class`的区别和注意事项。一个Java源文件中只能有一个`public class`,并且`public class`的类名必须与文件名相同。此外,可以有多个非`public`类。每个类都可以包含一个`main`方法,作为程序的入口点。文章还强调了编译Java文件生成`.class`文件的过程,以及如何使用`java`命令运行编译后的类。
45 3
java基础(4)public class 和class的区别及注意事项
|
2月前
|
Java
Java基础之 JDK8 HashMap 源码分析(中间写出与JDK7的区别)
这篇文章详细分析了Java中HashMap的源码,包括JDK8与JDK7的区别、构造函数、put和get方法的实现,以及位运算法的应用,并讨论了JDK8中的优化,如链表转红黑树的阈值和扩容机制。
27 1
|
2月前
|
Java 编译器 C语言
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
【一步一步了解Java系列】:探索Java基本类型与C语言的区别
46 2
|
2月前
|
存储 缓存 Java
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系
38 1
|
2月前
|
自然语言处理 Java 数据处理
Java IO流全解析:字节流和字符流的区别与联系!
Java IO流全解析:字节流和字符流的区别与联系!
85 1
|
2月前
|
缓存 安全 Java
Java中 final、finally、finalize 有什么区别?
本文详细阐述了Java中`final`、`finally`和`finalize`的区别:`final`用于修饰类、方法和变量以表示不可变性;`finally`是用于确保在`try-catch`结构中无论是否发生异常都能执行的代码块;而`finalize`是`Object`类的方法,用于在对象被垃圾回收前执行清理工作,但在JDK 9中已被标记为弃用。
36 0
Java中 final、finally、finalize 有什么区别?
|
2月前
|
Java
Java中抽象类和接口有什么区别?
本文阐述了Java中抽象类和接口的区别,包括类型扩展、方法/属性访问控制符、方法实现、使用目的等方面的不同,并提供了抽象类和接口的使用示例,以及Java中其他类型的类(普通类、内部类等)的简介。
111 0
Java中抽象类和接口有什么区别?
下一篇
无影云桌面