Java实用工具库commons-lang3的使用

 更新时间:2025年03月07日 10:09:49   作者:成都市-高级Java开发-空  
Apache Commons Lang 3是一个流行的Java实用工具库,提供了对java.lang包的扩展,包括字符串操作、正则表达式处理、数字操作、日期和时间操作、随机字符串生成和对象操作等功能

Java实用工具库commons-lang3

Apache Commons Lang 是一个流行的 Java 实用工具库,其中 commons-lang3 是其最新的主流版本,用于增强 Java 核心功能,特别是对 java.lang 包的扩展。

以下是 commons-lang3 的功能概述,以及如何使用其中的一些工具(如 RegExUtils)。

Maven 依赖

在使用 commons-lang3 之前,需要在项目中添加 Maven 依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 或最新版本 -->
</dependency>

主要工具与功能

1. StringUtils

  • 提供对字符串操作的各种实用方法。
import org.apache.commons.lang3.StringUtils;

public class StringUtilsExample {
    public static void main(String[] args) {
        String str = "  Hello World  ";

        // 判断字符串是否为空或空白
        System.out.println(StringUtils.isBlank(str)); // false

        // 删除两端空格
        System.out.println(StringUtils.trim(str)); // "Hello World"

        // 反转字符串
        System.out.println(StringUtils.reverse(str)); // "  dlroW olleH  "
    }
}

2. RegExUtils

  • 用于处理正则表达式的高级工具。
import org.apache.commons.lang3.RegExUtils;

public class RegExUtilsExample {
    public static void main(String[] args) {
        String text = "key1:value1, key2:value2, key3:value3";

        // 替换冒号为下划线
        String result = RegExUtils.replaceAll(text, ":", "_");
        System.out.println(result); // "key1_value1, key2_value2, key3_value3"
    }
}

3. NumberUtils

  • 提供数字操作的工具方法。
import org.apache.commons.lang3.math.NumberUtils;

public class NumberUtilsExample {
    public static void main(String[] args) {
        // 判断是否是数字
        System.out.println(NumberUtils.isCreatable("123")); // true
        System.out.println(NumberUtils.isCreatable("12.3")); // true
        System.out.println(NumberUtils.isCreatable("abc")); // false

        // 找到数组中的最大值
        int[] numbers = {1, 2, 3, 4, 5};
        System.out.println(NumberUtils.max(numbers)); // 5
    }
}

4. DateUtils

  • 提供日期和时间操作的工具。
import org.apache.commons.lang3.time.DateUtils;

import java.text.ParseException;
import java.util.Date;

public class DateUtilsExample {
    public static void main(String[] args) throws ParseException {
        String dateStr = "2025-01-01";

        // 解析日期
        Date date = DateUtils.parseDate(dateStr, "yyyy-MM-dd");
        System.out.println(date);

        // 添加天数
        Date newDate = DateUtils.addDays(date, 5);
        System.out.println(newDate);
    }
}

5. RandomStringUtils

  • 生成随机字符串的工具。
import org.apache.commons.lang3.RandomStringUtils;

public class RandomStringUtilsExample {
    public static void main(String[] args) {
        // 生成随机字母字符串
        String randomAlphabetic = RandomStringUtils.randomAlphabetic(10);
        System.out.println(randomAlphabetic);

        // 生成随机数字字符串
        String randomNumeric = RandomStringUtils.randomNumeric(10);
        System.out.println(randomNumeric);
    }
}

6. ObjectUtils

  • 提供对对象操作的工具。
import org.apache.commons.lang3.ObjectUtils;

public class ObjectUtilsExample {
    public static void main(String[] args) {
        String str = null;

        // 如果对象为 null,提供默认值
        System.out.println(ObjectUtils.defaultIfNull(str, "Default Value")); // "Default Value"

        // 判断多个对象是否都不为空
        System.out.println(ObjectUtils.allNotNull("A", "B", "C")); // true
        System.out.println(ObjectUtils.allNotNull("A", null, "C")); // false
    }
}

总结

commons-lang3 提供了一系列增强 Java 核心功能的工具类,常用功能包括:

  • 字符串处理StringUtilsRegExUtils
  • 数字操作NumberUtils
  • 日期操作DateUtils
  • 随机字符串生成RandomStringUtils
  • 对象工具ObjectUtils

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JAVA String类中的一些常用方法示例详解

    JAVA String类中的一些常用方法示例详解

    在我们的工作中,常常要对一个字符串进行一些操作,这里提供一些常用的方法,常常需要这些方法进行组合处理字符串,这篇文章主要给大家介绍了关于JAVA String类中的一些常用方法,需要的朋友可以参考下
    2023-10-10
  • springboot security使用jwt认证方式

    springboot security使用jwt认证方式

    这篇文章主要介绍了springboot security使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Java使用bcrypt实现对密码加密效果详解

    Java使用bcrypt实现对密码加密效果详解

    bcrypt是一种自带盐值(自动加盐)的加密方案。本文将通过示例为大家详细介绍这一对密码进行加密的算法,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-03-03
  • mybatis+springboot中使用mysql的实例

    mybatis+springboot中使用mysql的实例

    在软件开发中,数据库的引入是必不可少的,这里来展现一下通过mybatis框架在springboot中使用mysql,具有一定的参考价值,感兴趣的可以了解一下
    2021-07-07
  • Java结合OpenCV实现图形模板匹配实战教程

    Java结合OpenCV实现图形模板匹配实战教程

    OpenCV是一个广泛应用于计算机视觉任务的开源库,支持多种编程语言,其中包括Java,本文给大家介绍Java结合OpenCV实现图形模板匹配实战教程,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • java数据结构与算法之noDups去除重复项算法示例

    java数据结构与算法之noDups去除重复项算法示例

    这篇文章主要介绍了java数据结构与算法之noDups去除重复项算法实现技巧,程序代码非常简单,关键在于循环与判定,需要的朋友可以参考下
    2016-08-08
  • java io读取文件操作代码实例

    java io读取文件操作代码实例

    这篇文章主要介绍了java io读取文件操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • spring boot 配置HTTPS代码实例

    spring boot 配置HTTPS代码实例

    这篇文章主要介绍了spring boot 配置HTTPS代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot整合Dubbo框架,实现RPC服务远程调用

    SpringBoot整合Dubbo框架,实现RPC服务远程调用

    Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。今天就来看下SpringBoot整合Dubbo框架的步骤
    2021-06-06
  • 一篇文章教带你了解Java Spring之自动装配

    一篇文章教带你了解Java Spring之自动装配

    今天小编就为大家分享一篇关于Spring中的自动装配,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-09-09

最新评论