StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解

一、StringUtils中的isEmpty方法

1、StringUtils中的isEmpty方法中的源码如下:

注:由源码可知(判断某字符串是否为空,为空的标准是str==null或str.length()==0)

2、StringUtils中的isEmpty方法示例,如下代码

package com.rf.designPatterns.singleton;
import org.apache.commons.lang.StringUtils;
/**
 * @description:
 * @author: xiaozhi
 * @create: 2020-06-05 09:28
 */
public class Test {
 public static void main(String[] args) {
 boolean b1=StringUtils.isEmpty("null");
 System.out.println("====="+b1);
 boolean b2=StringUtils.isEmpty("");
 System.out.println("-----"+b2);
 boolean b3=StringUtils.isEmpty(" ");
 System.out.println("*****"+b3);
 boolean b4=StringUtils.isEmpty("abc");
 System.out.println("######"+b4);
 }
}

3、StringUtils中的isEmpty方法输出结果,如下图:

二、StringUtils中的isNotEmpty方法

1、StringUtils中的isNotEmpty方法中的源码如下:

注:由源码可知(判断某字符串是否为空,为空的标准相当于isEmpty方法的结果取反,即str!=null或str.length()>0)

2、StringUtils中的isNotEmpty方法示例,如下代码

package com.rf.designPatterns.singleton;
import org.apache.commons.lang.StringUtils;
/**
 * @description:
 * @author: xiaozhi
 * @create: 2020-06-05 09:28
 */
public class Test {
 public static void main(String[] args) {
 boolean b1=StringUtils.isEmpty("null");
 System.out.println("====="+b1);
 boolean b2=StringUtils.isEmpty("");
 System.out.println("-----"+b2);
 boolean b3=StringUtils.isEmpty(" ");
 System.out.println("*****"+b3);
 boolean b4=StringUtils.isEmpty("abc");
 System.out.println("######"+b4);
 }
}

3、StringUtils中的isNotEmpty方法输出结果,如下图:

三、StringUtils中的isBlank方法

1、StringUtils中的isBlank方法中的源码如下:

注:由源码可知(判断某字符串是否为空,标准是str==null或str.length()==0或由空白符(whitespace)构成)

2、StringUtils中的isBlank方法示例,如下代码

package com.rf.designPatterns.singleton;
import org.apache.commons.lang.StringUtils;
/**
 * @description:
 * @author: xiaozhi
 * @create: 2020-06-05 09:28
 */
public class Test {
 public static void main(String[] args) {
  boolean b1=StringUtils.isBlank("null");
  System.out.println("b1:"+b1);
  boolean b2=StringUtils.isBlank("");
  System.out.println("b2:"+b2);
  boolean b3=StringUtils.isBlank(" ");
  System.out.println("b3:"+b3);
  boolean b4= StringUtils.isBlank("\t \n \f \r");//对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
  System.out.println("b4:"+b4);
  boolean b5= StringUtils.isBlank("\b");//"\b"为单词边界符
  System.out.println("b5:"+b5);
  boolean b6=StringUtils.isBlank("abc");
  System.out.println("b6:"+b6);
 }
}

3、StringUtils中的isBlank方法输出结果,如下图:

四、StringUtils中的isNotBlank方法

1、StringUtils中的isNotBlank方法中的源码如下:

注:由源码可知 判断某字符串是否为空,为空的标准相当于isBlank方法的结果取反,即str!=null或str.length()0或由空白符(whitespace)构成

2、StringUtils中的isNotBlank方法示例,如下代码

package com.rf.designPatterns.singleton;
import org.apache.commons.lang.StringUtils;
/**
 * @description:
 * @author: xiaozhi
 * @create: 2020-06-05 09:28
 */
public class Test {
 public static void main(String[] args) {
 boolean b1=StringUtils.isBlank("null");
 System.out.println("b1:"+b1);
 boolean b2=StringUtils.isBlank("");
 System.out.println("b2:"+b2);
 boolean b3=StringUtils.isBlank(" ");
 System.out.println("b3:"+b3);
 boolean b4= StringUtils.isBlank("\t \n \f \r");//对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
 System.out.println("b4:"+b4);
 boolean b5= StringUtils.isBlank("\b");//"\b"为单词边界符
 System.out.println("b5:"+b5);
 boolean b6=StringUtils.isBlank("abc");
 System.out.println("b6:"+b6);
 }
}

3、StringUtils中的isNotBlank方法输出结果,如下图:

到此这篇关于StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解的文章就介绍到这了,更多相关StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java中StringUtils工具类进行String为空的判断解析

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

  • StringUtils里的isEmpty方法和isBlank方法的区别详解

    前言 我们常说的字符串为空,其实就是一个没有字符的空数组.比如: String a = ""; a 就可以称为是一个空字符串.由于 String 在 Java 中底层是通过 char 数组去存储字符串的,所以空字符串对应的 char 数组表现形式为 private final char value[] = new char[0]; 但实际工作中,我们需要对字符串进行一些校验,比如:是否为 null,是否为空,是否去掉空格.换行符.制表符等也不为空.我们一般都是通过一些框架的工具类去做这

  • Java中StringUtils工具类的一些用法实例

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码). 除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.x

  • java自定义封装StringUtils常用工具类

    自定义封装StringUtils常用工具类,供大家参考,具体内容如下 package com.demo.utils; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 字符串操作工具类 * @author dongyangyang * @Date 2016/12/28 23:12 * @Version 1.0 * */ public class StringUtils { /** * 首字

  • Java StringUtils字符串分割转数组的实现

    我们在日常开发时会经常遇到将一个字符串按照指定的字符进行分割. 这时,我们往往会想到使用str.split(","),进行处理得到分割后的数组. 然而, 使用split()方法在分割特殊的字符时是需要转移的.如小数点"." 下面我为大家推荐一种可以无需转义,即可分割的方法. 使用 org.springframework.util.StringUtils 中的 delimitedListToStringArray(str,delimiter) 进行测试 public

  • StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解

    一.StringUtils中的isEmpty方法 1.StringUtils中的isEmpty方法中的源码如下: 注:由源码可知(判断某字符串是否为空,为空的标准是str==null或str.length()==0) 2.StringUtils中的isEmpty方法示例,如下代码 package com.rf.designPatterns.singleton; import org.apache.commons.lang.StringUtils; /** * @description: * @a

  • JS中script标签defer和async属性的区别详解

    向html页面中插入javascript代码的主要方法就是通过script标签.其中包括两种形式,第一种直接在script标签之间插入js代码,第二种即是通过src属性引入外部js文件.由于解释器在解析执行js代码期间会阻塞页面其余部分的渲染,对于存在大量js代码的页面来说会导致浏览器出现长时间的空白和延迟,为了避免这个问题,建议把全部的js引用放在</body>标签之前. script标签存在两个属性,defer和async,因此script标签的使用分为三种情况: 1.<script

  • 对pandas中两种数据类型Series和DataFrame的区别详解

    1. Series相当于数组numpy.array类似 s1=pd.Series([1,2,4,6,7,2]) s2=pd.Series([4,3,1,57,8],index=['a','b','c','d','e']) print s2 obj1=s2.values # print obj1 obj2=s2.index # print obj2 # print s2[s2>4] # print s2['b'] 1.Series 它是有索引,如果我们未指定索引,则是以数字自动生成. 下面是一些例

  • 对python中 math模块下 atan 和 atan2的区别详解

    atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: angle = atan( (y2-y1)/(x2-x1) ) 或 angle = atan2( y2-y1, x2-x1 ) 因此可以看出 atan 和 atan2 的区别: 1.参数的个数不同:atan 为单个参数,atan2为两个参数 2.atan2 的优点在于: 如果 x2-x1等于0 ,角度依然可以计算,但是

  • 对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解

    在用tensorflow做一维的卷积神经网络的时候会遇到tf.nn.conv1d和layers.conv1d这两个函数,但是这两个函数有什么区别呢,通过计算得到一些规律. 1.关于tf.nn.conv1d的解释,以下是Tensor Flow中关于tf.nn.conv1d的API注解: Computes a 1-D convolution given 3-D input and filter tensors. Given an input tensor of shape [batch, in_wi

  • python中urllib.request和requests的使用及区别详解

    urllib.request 我们都知道,urlopen()方法能发起最基本对的请求发起,但仅仅这些在我们的实际应用中一般都是不够的,可能我们需要加入headers之类的参数,那需要用功能更为强大的Request类来构建了 在不需要任何其他参数配置的时候,可直接通过urlopen()方法来发起一个简单的web请求 发起一个简单的请求 import urllib.request url='https://www.douban.com' webPage=urllib.request.urlopen(

  • Python中的None与 NULL(即空字符)的区别详解

    1.首先要了解Python的对象的概念: Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是一个对象 那对于一个对象,它就有包括两方面的特征:  属性:去描述它的特征  方法: 它所具有的行为 所以,对象=属性+方法 (其实方法也是一种属性,一种区别于数据属性的可调用属性 把具有相同属性和方法的对象就可以归为一类,即Classl.类就好比是一张蓝图,使用一个类可以创建多个对象实例

  • C#中托管DLL和非托管DLL的区别详解

    首先解释一下,托管DLL和非托管DLL的区别.狭义解释讲,托管DLL就在Dotnet环境生成的DLL文件.非托管DLL不是在Dotnet环境生成的DLL文件. 托管DLL文件,可以在Dotnet环境通过 "添加引用" 的方式,直接把托管DLL文件添加到项目中.然后通过 Using DLL命 名空间,来调用相应的DLL对象 .  非托管DLL文件,在Dotnet环境应用时,通过 DllImport 调用. C# 调用非托管DLL文件.DLL文件是用C语言编写的. 托管DLL就是能够在公共

  • nginx配置proxy_pass中url末尾带/与不带/的区别详解

    nginx配置proxy_pass时url末尾带"/"与不带"/"的区别如下: 注意:当location为正则表达式匹配模式时,proxy_pass中的url末尾是不允许有"/"的,因此正则表达式匹配模式不在讨论范围内.  proxy_pass配置中url末尾带/时,nginx转发时,会将原uri去除location匹配表达式后的内容拼接在proxy_pass中url之后. 测试地址:http://192.168.171.129/test/tes

  • Java中生成随机数的4种方式与区别详解

    目录 在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 4 种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景. 1.Random Random 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数.Random 使用的随机算法为 linear congruential pseudorandom number generator (LGC) 线性同余法伪随机数.在随机数生成时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的

随机推荐