commons-lang3工具常用方法

commons-lang3是一个开源的Java类库,提供了一组实用工具类,主要用于操作字符串、日期、数值、数组等基本类型和对象。它的功能非常全面,几乎可以满足Java程序开发中所有涉及到的常规任务。

引入依赖

复制代码
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.9</version>
        </dependency>

字符串处理

判断字符串是否为null或者空白字符

java 复制代码
       // null
        String str=null;
        // 空字符串
        String str1="   ";
        // str
        // 判断字符串是否非为null或者空白字符
        System.out.println(StringUtils.isBlank(str)); //true
        // 判断字符串是否非为null或者空白字符
        System.out.println(StringUtils.isNoneBlank(str)); //false
        // str1
        // 判断字符串是否为null或者空白字符
        System.out.println(StringUtils.isBlank(str1)); //true
        // 判断字符串是否非为null或者空白字符
        System.out.println(StringUtils.isNoneBlank(str1)); //false

判断字符串是否为null

java 复制代码
        // null
        String str=null;

        // str
        // 判断字符串是否非为null
        System.out.println(StringUtils.isBlank(str)); //true
        // 判断字符串是否非为null
        System.out.println(StringUtils.isNoneBlank(str)); //false

截取字符串

java 复制代码
        // str
        String str="13825339078";
        
        // 截取字符串左边3个字符
        String left = StringUtils.left(str, 3); // 138
        // 截取字符串右边4个字符
        String right = StringUtils.right(str, 4); // 9078
        // 填充字符串左边字符使整个字符串长度为7
        String leftPad = StringUtils.leftPad(left, 7, '*'); // ****138
        // 填充字符串右边字符使整个字符串长度为7
        String rightPad = StringUtils.rightPad(left, 7, '*');
        // 脱敏
        System.out.println(rightPad+right ); // 138****9078

字符串大小写转换

java 复制代码
        // str
        String str="wsWS";

        System.out.println(StringUtils.upperCase(str)); // WSWS
        System.out.println(StringUtils.lowerCase(str)); // wsws

数字处理

判断数字

java 复制代码
        // str
        String str="12";
        // isDigits只能判断整数
        System.out.println(NumberUtils.isDigits(str)); // true
        str="12.33";
        // isParsable可以判断时尚芭莎整数、浮点数
        System.out.println(NumberUtils.isParsable(str)); // true
        str="-12.33";
        // isCreatable可以判断是不是整数、浮点数、正负号
        System.out.println(NumberUtils.isCreatable(str)); // true

随机生成数

java 复制代码
        int min=0,max=2000;
        System.out.println(RandomUtils.nextInt(min, max)); // 626

对象处理

返回第一个值

java 复制代码
        Integer a=null;
        Integer b=null;
        Integer c=1;
        System.out.println(ObjectUtils.firstNonNull(a, b, c)); // 1

数组处理

判断数组是否为null或为长度为0

java 复制代码
        Integer[] a=new Integer[0];
        System.out.println(ArrayUtils.isEmpty(a));
        a=null;
        System.out.println(ArrayUtils.isEmpty(a));

向已有数组追加

java 复制代码
        Integer[] a=new Integer[1];
        a[0]=3;
        System.out.println(ArrayUtils.toString(a)); // {3}
        Integer[] b = ArrayUtils.add(a, 5);
        System.out.println(ArrayUtils.toString(b)); // {3,5}
相关推荐
无心水2 分钟前
【分布式利器:腾讯TSF】7、TSF高级部署策略全解析:蓝绿/灰度发布落地+Jenkins CI/CD集成(Java微服务实战)
java·人工智能·分布式·ci/cd·微服务·jenkins·腾讯tsf
28岁青春痘老男孩5 小时前
JDK8+SpringBoot2.x 升级 JDK 17 + Spring Boot 3.x
java·spring boot
方璧5 小时前
限流的算法
java·开发语言
元Y亨H5 小时前
Nacos - 服务注册
java·微服务
曲莫终6 小时前
Java VarHandle全面详解:从入门到精通
java·开发语言
一心赚狗粮的宇叔6 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
奋进的芋圆6 小时前
DataSyncManager 详解与 Spring Boot 迁移指南
java·spring boot·后端
计算机程序设计小李同学6 小时前
个人数据管理系统
java·vue.js·spring boot·后端·web安全
小途软件7 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
alonewolf_997 小时前
Spring MVC启动与请求处理全流程解析:从DispatcherServlet到HandlerAdapter
java·spring·mvc