org.apache.commons.lang3包下的StringUtils工具类的使用

 前言

相信平时在写项目的时候,一定使用到StringUtils.isEmpty();StringUtils.isBlank();但是你真的了解他们吗?

也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在。

 maven对应的包:

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.17.0</version>
        </dependency>

 maven坐标:https://mvnrepository.com/

一、isEmpty()系列

     isEmpty():会绕过空值的判断

    @Test
    public void testStringUtils(){
        boolean empty = StringUtils.isEmpty(null);
        System.out.println(empty);//true
        boolean empty1 = StringUtils.isEmpty("");
        System.out.println(empty1);//true
        //字符串时空,但是输出的是false
        boolean empty2 = StringUtils.isEmpty(" ");
        System.out.println(empty2);//false
        boolean empty3 = StringUtils.isEmpty("HelloWorld!");
        System.out.println(empty3);//false
        boolean empty4 = StringUtils.isEmpty(" HelloWorld! ");
        System.out.println(empty4);//false
    }

 源码:

    @Deprecated
    public static boolean isEmpty(@Nullable Object str) {
        return str == null || "".equals(str);
    }

 @Deprecated注解:标记该方法过时了,在以后得版本中可能会被代替。

isNotEmpty():相当于不为空

    public static boolean isNotEmpty(final CharSequence cs) {
        return !isEmpty(cs);
    }


isAnyEmpty():只要有一个为空,就是true

    @Test
    public void testStringUtils(){
        System.out.println(StringUtils.isAnyEmpty("Hello", "World"));//false
        System.out.println(StringUtils.isAnyEmpty(null, "HelloWorld"));//true
        System.out.println(StringUtils.isAnyEmpty("", " "));//true
        System.out.println(StringUtils.isAnyEmpty(" ", " "));//false
    }

源码:

public static boolean isAnyEmpty(final CharSequence... css) {
  if (ArrayUtils.isEmpty(css)) {
    return true;
  }
  for (final CharSequence cs : css){
    if (isEmpty(cs)) {
      return true;
    }
  }
  return false;
}


isNoneEmpty():相当于!isAnyEmpty(css) , 必须所有的值都不为空才返回true

    @Test
    public void testStringUtils(){
        System.out.println(StringUtils.isNoneEmpty("Hello", "World"));//true
        System.out.println(StringUtils.isNoneEmpty(null, "HelloWorld"));//false
        System.out.println(StringUtils.isNoneEmpty("", " "));//false
        System.out.println(StringUtils.isNoneEmpty(" ", " "));//true
    }

二、isBank()系列

和isEmpty()基本一样,但是判断"   "的时候,结果不一样。

     @Test
    public void testStringUtils(){
        boolean empty2 = StringUtils.isBlank(" ");
        System.out.println(empty2);//true
    }

 三、常用的方法

equals():严格的比较两个字符串是不是相等

    @Test
    public void testStringUtils(){
        System.out.println(StringUtils.equals("HelloWorld", "HelloWorld"));//true
        System.out.println(StringUtils.equals("", "   "));//false
        System.out.println(StringUtils.equals("  HelloWorld  ", "HelloWorld"));//false
        System.out.println(StringUtils.equals("  ", "    "));//false
        System.out.println(StringUtils.equals("", ""));//true
        System.out.println(StringUtils.equals(" ", " "));//true
        System.out.println(StringUtils.equals("",null));//false
        System.out.println(StringUtils.equals("  ",null));//false
    }

四、其他的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值