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}
相关推荐
小师兄吃牛肉5 分钟前
SQL 编辑器异常排查:基于 KStudio 的一次实战记录
java·sql·编辑器
m0_587383007 分钟前
无人自助拼豆系统开发实战指南 核心功能架构搭建与落地经验分享
java·经验分享·spring·小程序·架构·需求分析
Wang's Blog11 分钟前
Java 项目实战: 交友项目 - Dubbo 超时与重试
java·dubbo·交友
BD_Marathon15 分钟前
ChatPromptTemplate的高级特性
android·java·javascript
要开心吖ZSH21 分钟前
定时任务是用外部调度(xxl-job)还是本地化( @Scheduled)更香?以号源刷新任务为例?
java·xxl-job·定时任务·scheduled
nagualky12322 分钟前
GPT-4 系列退役在即:一套可回滚的模型迁移验收法
java·开发语言·ai·架构
今天的砖头有点烫手啊23 分钟前
Java 8 Stream 原理拆解:惰性求值与并行流陷阱
java·jvm
starzy199031 分钟前
Flink 任务调度 Graph 源码深度剖析:从 StreamGraph 到 ExecutionGraph 的三层演进
java·大数据·flink
Eyfcom32 分钟前
〖实战〗快运系统 Oracle 性能优化:从“能用”到“扛住双11”的 Java + Spring Boot 实战
java·oracle·性能优化·快递管理系统
m0_5873830037 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析