【转】 StringUtils中 isNotEmpty 和isNotBlank的区别_weixin_30814223的博客-程序员ITS203

技术标签: java  

【转自】http://blog.csdn.net/foamflower/article/details/5713604

 

isNotEmpty将空格也作为参数,isNotBlank则排除空格参数

StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。

除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()

1. public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是str==null或str.length()==0
下面是StringUtils判断是否为空的示例:
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空处理
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

2. public static boolean isNotEmpty(String str)
判断某字符串是否非空,等于!isEmpty(String str)
下面是示例:
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true

3. public static boolean isBlank(String str)
判断某字符串是否为空或长度为0或由空白符(whitespace)构成
下面是示例:
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
StringUtils.isBlank("\b") = false //"\b"为单词边界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false

4. public static boolean isNotBlank(String str)
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str)
下面是示例:
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true

5. public static String trim(String str)
去掉字符串两端的控制符(control characters, char <= 32),如果输入为null则返回null
下面是示例:
StringUtils.trim(null) = null
StringUtils.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. public static String trimToNull(String str)
去掉字符串两端的控制符(control characters, char <= 32),如果变为null或"",则返回null
下面是示例:
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
StringUtils.trimToNull(" dd ") = "dd"

7. public static String trimToEmpty(String str)
去掉字符串两端的控制符(control characters, 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. public static String strip(String str)
去掉字符串两端的空白符(whitespace),如果输入为null则返回null
下面是示例(注意和trim()的区别):
StringUtils.strip(null) = null
StringUtils.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. public static String stripToNull(String str)
去掉字符串两端的空白符(whitespace),如果变为null或"",则返回null
下面是示例(注意和trimToNull()的区别):
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
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"

10. public static String stripToEmpty(String str)
去掉字符串两端的空白符(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"

转载于:https://www.cnblogs.com/luffyu/p/5937861.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30814223/article/details/99245350

智能推荐

nacos_korn_z的博客-程序员ITS203

什么是nacosNacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。官方网址:http://nacos.ionacos作为注册中心1.预备环境:Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/M

安装驱动时报stellaris virtual serial port错误_月下想的博客-程序员ITS203

在玩Tiva C series TM4C123G launchpadPad时电脑没有自动安装驱动,显示如下:所以在CSDN或者其他论坛找驱动。在某个地方找到了官网的下载地址,所以去那进行了下载http://www.ti.com/tool/stellaris_icdi_drivers然后安装,发现第一个还是无法消去,剩下的那两个可以安装一下消去,着急之中忘了截图了,总之第一个无法消去...

CISCO 6509 三层交换机配置_weixin_33810006的博客-程序员ITS203

CISCO 6509三层交换机配置Cisco Catalyst 6500系列交换机提供3插槽、6插槽、9插槽和13插槽的机箱,以及多种集成式服务模块,包括数千兆位网络安全性、内容交换、语音和网络分析模块。Catalyst 6500系列中的所有型号都使用了统一的模块和操作系统软件,形成了能够适应未来发展的体系结构,由于能提供操作一致性,因而能提高IT基础设施的利用率,并增...

移动平台web开发的一点心得_weixin_33725272的博客-程序员ITS203

只是想把最近移动平台web开发的一点经验和大家分享下。 1.iScroll控件   这个控件可以说是非常不错的一个使用mobile webkit开发的一个实现滑动效果的控件。官方网站:http://cubiq.org/iscroll   它是纯粹的js写的,不依赖其它js框架。下面几个例子是在ipad的Safari的效果:   轮播图: 滑动效果(类似于新浪微博...

Unity3D 学习笔记9 —— 3D模型动画控制_河乐不为的博客-程序员ITS203_unityar模型动画

在Unity中,我们可以使用2D的Spine动画来制作核心战斗模块,当然也能用3D模型来制作,这时候我们需要学会使用的工具类就是Unity为我们提供的Animation动画控制类。        当我们将一个模型导入Unity中时,我们可以看到资源文件下有Animations和Materials两个目录,它们分别用于存放此3D模型的动画和材质。一、动画设置:        在A

随便推点

Matlab GUI设计之坐标转换(附Matlab GUI设计学习手册完整版pdf)_有时候。的博客-程序员ITS203_matlab坐标转换程序

相信看这篇文章的你们大部分没有用Matlab做过界面设计,其实不只是你们,我也是第一次(手动滑稽),在此将我的经验同大家一起分享。如何开始?就如哲学家斯宾塞所言:“每一件美好的事情,开始都是很困难的”。编程也是一件美好的事情,而如何开始动手去想,去构思,去编写代码,这些对于新手而言无一不是困难的。其实,编程的大部分工作在于构思。如果你拿到一个问题,在脑中或者是草稿纸上将整体的框架列出来,这个问...

CHtmlView的通信机制_zhuzhubin的博客-程序员ITS203_chtmlview原理

IWebBrowser2是microsoft提供的web浏览器控件, 它也是IE使用的内核,功能非常强大。在http客户端程序中,使用IWebBrowser2可以简化对http通信过程的处理,并将html文档解析成一个对象结构。IWebBrowser2是一个ActiveX控件和COM接口,直接使用比较复杂。CHtmlView是MFC对IWebBrowser2的封装,提供了更为简化的编程模型。尽管如

托管 非托管_托管的完整指南-第1部分_culh2177的博客-程序员ITS203

托管 非托管One of the most important business relationships for a Website owner (whether the site’s for business or pleasure) should be with a Web hosting company. 对于网站所有者而言,最重要的业务关系之一(无论是出于商务目的还是娱乐目的)应该与...

Python刷题记录(31-40)_打酱油的杯具的博客-程序员ITS203

Python刷题记录(31-40)题目来源PTA平台PAT (Basic Level) Practice (中文)@TOC1031 查验身份证一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8

【软件工程】面向过程的软件设计方法_赵蕊-Zenny的博客-程序员ITS203_从软件工程的角度看,软件设计过程

软件设计的目标和任务:根据 用 信 息 域 表 示 的 软 件 需 求, 以 及 功 能 和 性 能 需 求 , 进行:数据 设 计;系统 结 构 设 计;过程 设 计 软件设计任务:从工程管理的角度来看,软件设计分为两步完成:概要设计;详细设计软件 设 计 过 程 :1.制 定 规 范 2. 软 件 系 统 结 构 的 总 体 设 计 3.处 理 方 式 设

三角波傅立叶级数展开式matlab,常见波形的傅里叶级数展开式_weixin_39866874的博客-程序员ITS203

引言近来,在开展课题时遇到了需要将梯形波进行傅里叶级数展开的问题,查询了一些资料(惭愧,一开始就没想着自己动手积分),然后没有找到自己想要的结果(其实有相近的,只不过不是任意周期的,当时没有转变过来),最后还是动手算出来了,在这里做一个小小的记录,算是回顾以前的知识吧,捂脸。由于像三角波,矩形波,梯形波这种波形不连续,因此在仿真软件中很容易出现计算不收敛的情况。所以,在这种情况下,利用一系列谐波叠...

推荐文章

热门文章

相关标签