当前位置: 首页 > article >正文

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
    }

四、其他的方法


http://www.kler.cn/a/417882.html

相关文章:

  • Rust vs Java:后端开发应该选哪个?
  • 使用docker-compose部署搜索引擎ElasticSearch6.8.10
  • 探索文件系统,Python os库是你的瑞士军刀
  • 使用Dify与BGE-M3搭建RAG(检索增强生成)应用-改进一,使用工作流代替Agnet
  • 深度学习之 DenseNet和2图像分割常用数据集
  • 应急响应靶机——Windows挖矿事件
  • Maven 内置绑定到底怎么回事?
  • QT 实现QStackedWidget切换页面开门动画
  • Linux如何安装git
  • pytorch 融合 fuse 学习笔记
  • Linux:进程间通信之进程池和日志
  • Ubuntu 环境下的 C/C++ 编译与调试配置
  • “移门缓冲支架:为家庭安全加码”
  • 以达梦为数据库底座时部署的微服务页面报乱码,调整兼容模式
  • 医院数据库优化:提升性能与响应时间的关键策略
  • PostgreSQL实现透视表查询
  • Android启动流程,代码分析
  • 欢迪迈手机商城:基于SpringBoot的数据分析
  • RK3568平台开发系列讲解(PWM篇)PWM 子系统框架
  • vulnhub靶场【哈利波特】三部曲之Fawkes
  • 解决 Ubuntu 20.04 上的 torchvisionnms 运行时错误 详细步骤与分析
  • golang使用gos7读取S7200Smart数据
  • 关于使用天地图、leaflet、ENVI、Vue工具实现 前端地图上覆盖上处理的农业地块图层任务
  • Java 泛型详细解析
  • YOLO-学习笔记
  • 算法笔记:力扣148. 排序链表