欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Apache Commons Lang3 常用方法详解

Apache Commons Lang3 常用方法详解

2025/4/2 16:24:33 来源:https://blog.csdn.net/qq_42763903/article/details/146925882  浏览:    关键词:Apache Commons Lang3 常用方法详解

Apache Commons Lang3 常用方法详解

Apache Commons Lang3 是 Java 开发中最常用的工具库之一,提供了许多标准 Java API 没有但非常实用的功能。本文将详细介绍 Lang3 中最常用和最有价值的方法。

1. StringUtils - 字符串工具类

1.1 空字符串检查

// 检查字符串是否为null或空字符串
StringUtils.isEmpty(null);      // true
StringUtils.isEmpty("");       // true
StringUtils.isEmpty(" ");      // false// 检查字符串是否为null或空白字符串
StringUtils.isBlank(null);     // true
StringUtils.isBlank("");       // true
StringUtils.isBlank(" ");      // true

1.2 字符串截取

// 截取字符串
StringUtils.substring("abcdef", 2);     // "cdef"
StringUtils.substring("abcdef", 2, 4);  // "cd"// 从左边截取指定长度
StringUtils.left("abcdef", 3);         // "abc"// 从右边截取指定长度
StringUtils.right("abcdef", 3);        // "def"

1.3 字符串连接与分割

// 连接字符串数组
StringUtils.join(new String[]{"a", "b", "c"}, ","); // "a,b,c"// 分割字符串
StringUtils.split("a,b,c", ",");       // ["a", "b", "c"]
StringUtils.splitByWholeSeparator("a,,b,c", ","); // ["a", "", "b", "c"]

2. ArrayUtils - 数组工具类

2.1 数组操作

// 检查数组是否为空
ArrayUtils.isEmpty(new String[0]);     // true
ArrayUtils.isEmpty(null);              // true// 添加元素到数组
String[] array = {"a", "b", "c"};
String[] newArray = ArrayUtils.add(array, "d"); // ["a", "b", "c", "d"]// 合并数组
String[] array1 = {"a", "b"};
String[] array2 = {"c", "d"};
String[] merged = ArrayUtils.addAll(array1, array2); // ["a", "b", "c", "d"]

2.2 数组查找与判断

// 判断数组是否包含某个元素
ArrayUtils.contains(new int[]{1, 2, 3}, 2); // true// 查找元素索引
ArrayUtils.indexOf(new int[]{1, 2, 3}, 2);  // 1

3. BooleanUtils - 布尔工具类

// 将字符串转换为布尔值
BooleanUtils.toBoolean("true");      // true
BooleanUtils.toBoolean("yes");       // true
BooleanUtils.toBoolean("on");        // true
BooleanUtils.toBoolean("1");         // true// 将布尔值转换为字符串
BooleanUtils.toStringTrueFalse(true); // "true"
BooleanUtils.toStringOnOff(false);    // "off"

4. NumberUtils - 数字工具类

// 字符串转数字
NumberUtils.toInt("123");       // 123
NumberUtils.toInt("123", 0);    // 123 (默认值0)// 判断字符串是否是数字
NumberUtils.isDigits("123");    // true
NumberUtils.isCreatable("12.3"); // true// 比较数字
NumberUtils.compare(1, 2);     // -1

5. ObjectUtils - 对象工具类

// 安全的对象比较
ObjectUtils.equals(null, null);   // true
ObjectUtils.equals("a", "a");    // true
ObjectUtils.equals("a", "b");    // false// 获取第一个非空对象
ObjectUtils.firstNonNull(null, null, "a", "b"); // "a"// 默认值处理
ObjectUtils.defaultIfNull(null, "default"); // "default"

6. RandomUtils - 随机数工具类

// 生成随机数
RandomUtils.nextInt(0, 10);  // 0-9之间的随机数
RandomUtils.nextDouble(0, 1); // 0-1之间的随机小数

7. SystemUtils - 系统工具类

// 获取系统信息
SystemUtils.getJavaHome();      // Java安装目录
SystemUtils.getUserHome();      // 用户主目录
SystemUtils.IS_OS_WINDOWS;     // 是否是Windows系统
SystemUtils.IS_OS_LINUX;       // 是否是Linux系统

8. DateUtils - 日期工具类

// 日期加减
Date now = new Date();
DateUtils.addDays(now, 1);     // 加1天
DateUtils.addMonths(now, -1);  // 减1个月// 日期比较
Date date1 = //...
Date date2 = //...
DateUtils.isSameDay(date1, date2); // 是否同一天// 日期截断(去掉时间部分)
DateUtils.truncate(now, Calendar.DATE);

9. ExceptionUtils - 异常工具类

try {// 可能抛出异常的代码
} catch (Exception e) {// 获取异常堆栈字符串String stackTrace = ExceptionUtils.getStackTrace(e);// 获取异常原因消息String rootCauseMsg = ExceptionUtils.getRootCauseMessage(e);
}

10. Validate - 验证工具类

// 验证不为null
Validate.notNull(obj, "对象不能为null");// 验证不为空
Validate.notEmpty(list, "列表不能为空");// 验证表达式为true
Validate.isTrue(count > 0, "计数必须大于0");

参考文献

1. 官方主页

  • Apache Commons Lang 官网

2. 官方文档

  • Apache Commons Lang3 JavaDoc (最新版本)
  • Apache Commons Lang3 用户指南

结语

Apache Commons Lang3 提供了大量实用的工具方法,可以显著减少开发者的样板代码,提高开发效率。本文介绍了其中最常用的方法,但 Lang3 的功能远不止于此。建议开发者查阅官方文档,了解更多高级用法。

在实际项目中合理使用这些工具类,可以让代码更加简洁、健壮和可维护。但也要注意不要过度依赖第三方库,对于简单的功能,有时自己实现可能更合适。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词