Apache Commons-Lang 可以高度重用的Util类学习总结

在 Apache Jakarta Common 中, Lang 这个 Java 工具包是所有 Apache Jakarta Common 项目中被使用最广泛的,几乎你所知道的名气比较大的软件里面都有用到它,包括 Tomcat, Weblogic, Websphere, Eclipse等等。

跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。

lang包主要是一些可以高度重用的Util类;lang.builder包包含了一组用于产生每个Java类中都常使用到的toString()、 hashCode()、equals()、compareTo()等等方法的构造器;lang.enums包顾名思义用于处理枚 举;lang.exception包用于处理Java标准API中的exception,为1.4之前版本提供Nested Exception功能;lang.math包用于处理数字;lang.mutable用于包装值型变量;lang.time包提供处理日期和时间的功 能。

测试这些类之前确保导入了相关的jar包。

commons-lang jar包的下载

这个包提供了一些有用的包含static方法的Util类。除了6个Exception类和2个已经deprecated的数字类之外,commons.lang包共包含了17个实用的类:

ArrayUtils – 利用ArrayUtils类帮我们完成数组的打印、查找、克隆、倒序、以及值型/对象数组之间的转换等操作。

 

BitField – 用于操作位元,提供了一些方便而安全的方法;

BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组;

CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断;

CharRange – 用于设定字符范围并做相应检查;

CharSet – 用于设定一组字符作为范围并做相应检查;

CharSetUtils – 用于操作CharSet;

CharUtils – 用于操作char值和Character对象;

ClassUtils – 用于对Java类的操作,不使用反射;

ObjectUtils – 用于操作Java对象,提供null安全的访问和其他一些功能;

RandomStringUtils – 用于生成随机的字符串;

RandomStringUtils 源码:

 

自己写代码生成随机数:

通过common-lang里面的工具类生成随机数:

测试例子如下

不建议用random1和random5的方法

 

 

SerializationUtils – 用于处理对象序列化,提供比一般Java序列化更高级的处理能力;

StringEscapeUtils – 用于正确处理转义字符,产生正确的Java、JavaScript、HTML、XML和SQL代码;

StringUtils – 处理String的核心类,提供了相当多的功能;StringUtils处理文本对Java应用来说应该算是家常便饭了,在1.4出现之前,Java自身提供的API非常有限,如String、 StringTokenizer、StringBuffer,操作也比较单一。无非就是查找substring、分解、合并等等。到1.4的出现可以说 Java的文字处理上了一个台阶,因为它支持regular expression了。这可是个重量级而方便的东东啊,缺点是太复杂,学习起来有一定难度。相较而言,Jakarta Commons提供的StringUtils和WordUtils至今还维持着那种简洁而强大的美,使用起来也很顺手。

 

 

StringUtils的其他用法可以参考其他的博客文章: StringUtils详细介绍

SerializationUtils  Java中得序列化

SystemUtils – 在java.lang.System基础上提供更方便的访问,如用户路径、Java版本、时区、操作系统等判断;

ToStringBuilder 当你需要重载 toString 函数而不想写代码把当前类的所有成员信息列出来,可以用这个函数。

ToStringBuilder学习(一):常用方法介绍

 

基于反射机制的几个类:
CompareToBuilder 比较,用在算法、排序、比较的地方。reflectionCompare,append。
EqualsBuilder 通过反射机制比较。reflectionEquals 很多项目中用到。
HashCodeBuilder 可以通过反射生成 hash code,很多算法的地方涉及到 hash code,但是并不是每个人都知道一种 hash code 的生成方法。
ToStringBuilder 当你需要重载 toString 函数而不想写代码把当前类的所有成员信息列出来,可以用这个函数。

 

Validate – 提供验证的操作,有点类似assert断言;

WordUtils – 用于处理单词大小写、换行等。

 

org.apache.commons.lang.time

 

文章持续的更新。

 

参考文章:

【1】Apache Commons-Lang3 官方文档

【2】肯爹的 StringUtils.isNumeric(String str)

【3】apache.commons.lang.StringUtils 使用心得

【4】Apache Commons-Lang 文档

【5】Apache Jakarta Common Lang 介绍

【6】org.apache.commons.lang.time






如果您认为本教程质量不错,读后觉得收获很大,预期工资能蹭蹭蹭的往上涨,那么不妨小额赞助我一下,让我有动力继续写出高质量的教程。

发布者

souvc

souvc

搜你所想,投你所好。

发表评论