Apache Commons Lang项目介绍
工具类admin 发布于:2022-07-10 21:40:23
阅读:loading
Apache Commons 是一个专注于可重用 Java 组件各个方面的 Apache 项目。Apache Commons 项目由三部分组成:可重用Java组件的存储库、Java组件开发的工作区、当前处于非活动状态的组件的存储库。Commons项目下共有43个子项目,Lang作为其中的一个子项目,本篇文章主要是简单的介绍lang项目。
Lang项目保持着持续的更新与维护,上次更新为2021年的2月26日(1.0版本发布于2002年10月4日),最后的版本为3.12.0,经过20年的发展更新,几乎也是业内所有的项目均会被使用到的基础库之一,被超广泛使用。如果至今为止你仍然没有使用过它或者没有了解到它里面提供的工具类,可以说编码的质量真的不会高。
(1)由于标准Java库未能提供足够的方法来操作其主要组件,Lang包提供了这些额外的方法,还有其他类可能有理由包含在java.lang中,这个包也为大家提供了,主要是被认为是标准的以证明存在于java.lang中的合理性,命名标准的理念是尽可能遵循JDK的理念。
(2)Lang仅依赖于标准JDK1.2(或更高版本)API进行生产部署。它利用 JUnit 单元测试框架来开发和执行单元测试,但这仅对组件的开发人员感兴趣。Lang 将成为开源世界中几个现有组件的依赖项,也没有使用外部配置文件。
(3)Apache Commons Lang 为 java.lang API 提供了许多帮助实用程序,特别是字符串操作方法、基本数值方法、对象反射、并发、创建和序列化以及系统属性。此外,它还包含对 java.util.Date 的基本增强和一系列专用于帮助构建方法的实用程序,例如 hashCode、toString 和 equals,等等。请注意 Commons Lang 3.0(和后续版本)使用与以前版本(org.apache.commons.lang )不同的包( org.apache.commons.lang3),允许与 Commons 同时使用 Commons Lang 和 Commons Lang 3,这也是许多项目中一不注意就会存在关于Lang的两个版本的jar。
我们使用Apache Commons Lang项目的最根本目的还是在于使用它内置的一些工具类或工具方法,笔者也不可能全部了解或者全部使用过,但是熟练掌握使用到其中的一小部分后,行走“江湖”写出来的代码质量必然是高出一筹的。比如以下的列表是个人经常使用到该项目中的工具类的整理,参考如下:
模块 | 类名 | 说明 |
---|---|---|
数据类型 | NumberUtils | 用户文本与数字的类型转换,判断是否是数字等,所有包含数字的类型如Short、Integer、Long和Float与Double都可支持 |
StringUtils | 字符串的各种操作,批量替换、长度、非空判断、连接字符串等 | |
BooleanUtils | 字符串与Boolean类型的互相转换与验证 | |
ArrayUtils | 数组类型操作工具类 | |
CharUtils | 字符类型操作工具类 | |
EnumUtils | 枚举处理工具类 | |
AnnotationUtils | 注解工具类 | |
ObjectUtils | Object对象判断工具类 | |
反射 | ClassUtils | 操作类的工具类,可以获取类的所有实现接口与集成类等 |
ConstructorUtils | 操作构造函数工具类 | |
FieldUtils | 操作字段工具类 | |
MethodUtils | 操作方法工具类,反射私有方法,公开方法,静态方法等 | |
TypeUtils | 操作字段类型工具类 | |
日期时间 | DateFormatUtils | 日期格式化工具类 |
DateUtils | 日期工具类 | |
StopWatch | 计算程序执行时间 | |
随机数 | RandomStringUtils | 随机字符串工具类 |
RandomUtils | 随机数字工具类 | |
其它 | SystemUtils | 获取系统配置与系统参数工具类 |
RegExUtils | 正则表达式工具类 | |
ExceptionUtils | 获取异常的堆栈数据 | |
ToStringBuilder | 反射返回toString实现 | |
ReflectionToStringBuilder | 反射返回toString实现 | |
ThreadUtils | 线程工具类 |
点赞