篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringUtils中 isNotEmpty 和isNotBlank的区别相关的知识,希望对你有一定的参考价值。
1、意思不一样
isNotEmpty将空格也作为参数,isNotBlank则排除空格参数。
2、操作方法不一样
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。
3、范围不一样
StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()
public static boolean isEmpty(String str)判断某字符串是否为空,为空的标准是str==null或str.length()==0
public static boolean isNotEmpty(String str)判断某字符串是否非空,等于!isEmpty(String str)
参考技术A
1,isNotEmpty(str)等价于 str != null && str.length > 0。
2,isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0。
同理:
1,isEmpty 等价于 str == null || str.length == 0。
2,isBlank 等价于 str == null || str.length == 0 || str.trim().length == 0。
3,str.length > 0 && str.trim().length > 0 ---> str.length > 0。
扩展资料:
1,java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。
2,Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
3,工作原理
由四方面组成:(1)Java编程语言,(2)Java类文件格式,(3)Java虚拟机,(4)Java应用程序接口。当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
StringUtils.isNotBlank
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotEmpty
判断某字符串是否非空
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true