Apache Commons Lang 3 是一个广泛使用的 Java 工具库,提供了大量辅助工具类,可简化常见开发任务。以下是其核心功能概览和典型用法:
核心工具类
-
StringUtils
- 字符串处理java
复制
下载
// 判空/空白 StringUtils.isEmpty(null); // true StringUtils.isBlank(" "); // true // 裁剪/截取 StringUtils.trimToNull(" abc "); // "abc" StringUtils.substring("Hello", 1, 3); // "el" // 拼接/反转 StringUtils.join(new String[]{"a", "b"}, ","); // "a,b" StringUtils.reverse("Java"); // "avaJ"
-
ArrayUtils
- 数组操作java
复制
下载
// 判空/反转 ArrayUtils.isEmpty(new int[0]); // true ArrayUtils.reverse(new int[]{1, 2, 3}); // {3, 2, 1} // 合并/装箱 ArrayUtils.addAll(new int[]{1}, new int[]{2}); // {1, 2} ArrayUtils.toObject(new int[]{1, 2}); // Integer[]
-
ObjectUtils
- 对象安全处理java
复制
下载
// 空值安全处理 ObjectUtils.defaultIfNull(null, "default"); // "default" ObjectUtils.firstNonNull(null, "fallback"); // "fallback"
-
DateUtils
- 日期工具java
复制
下载
// 日期加减/舍入 DateUtils.addDays(new Date(), 7); // 加7天 DateUtils.truncate(new Date(), Calendar.DAY_OF_MONTH); // 时间归零到当天
-
SystemUtils
- 系统信息java
复制
下载
SystemUtils.JAVA_VERSION; // "17" (当前JRE版本) SystemUtils.IS_OS_WINDOWS; // 是否Windows系统
进阶功能
-
异常构建:
ExceptionUtils
java
复制
下载
String stackTrace = ExceptionUtils.getStackTrace(e); // 异常转字符串
-
对象工具:
EqualsBuilder
,HashCodeBuilder
,ToStringBuilder
java
复制
下载
@Override public String toString() { return ToStringBuilder.reflectionToString(this); }
-
随机工具:
RandomUtils
,RandomStringUtils
java
复制
下载
int num = RandomUtils.nextInt(1, 100); // 1-100随机数 String randStr = RandomStringUtils.randomAlphanumeric(10); // 10位随机字母数字
依赖配置(Maven)
xml
复制
下载
运行
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.14.0</version> <!-- 检查最新版本 --> </dependency>
最佳实践
-
替代原生操作:用
StringUtils
代替String
的判空/拼接,避免 NPE。 -
防御性编程:使用
ObjectUtils.defaultIfNull
处理可能为null
的返回值。 -
日期安全:用
DateUtils
避免手动操作Calendar
的复杂性。 -
简化测试:
RandomStringUtils
快速生成测试数据。
📌 注意:避免与旧版
commons-lang
(Lang 2.x)混用,二者不兼容。始终使用org.apache.commons.lang3
包路径。