没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Jakarta Commons 学习
1. 概述...........................................................................................................................................4
2. Commons Lang.........................................................................................................................4
2.1. commons.lang 包 ..........................................................................................................4
2.1.1. ArrayUtils..........................................................................................................5
2.1.2. StringUtils .........................................................................................................7
2.1.3. BitField............................................................................................................10
2.1.4. BooleanUtils....................................................................................................10
2.1.5. CharRange.......................................................................................................10
2.1.6. CharUtils .........................................................................................................11
2.1.7. ClassUtils ........................................................................................................11
2.1.8. ObjectUtils ......................................................................................................11
2.1.9. RandomStringUtils..........................................................................................12
2.1.10. SerializationUtils.............................................................................................12
2.1.11. StringEscapeUtils............................................................................................12
2.1.12. SystemUtils .....................................................................................................12
2.1.13. Validate ...........................................................................................................12
2.1.14. WordUtils........................................................................................................13
2.2. commons.lang.builder 包 ............................................................................................13
2.2.1. CompareToBuilder..........................................................................................16
2.2.2. EqualsBuilder..................................................................................................16
2.2.3. HashCodeBuilder ............................................................................................17
2.2.4. ToStringBuilder ...............................................................................................18
2.2.5. ToStringStyle 和 StandardToStringStyle.........................................................18
2.3. commons.lang.math 包 ...............................................................................................19
2.4. commons.lang.time 包 ................................................................................................21
2.4.1. DateFormatUtils ..............................................................................................23
2.4.2. DateUtils .........................................................................................................23
2.4.3. DurationFormatUtils .......................................................................................23
2.4.4. SimpleDateFormat ..........................................................................................24
2.4.5. StopWatch .......................................................................................................24
2.5. commons.lang.enums 包............................................................................................24
2.6. commons.lang.exception 包........................................................................................24
2.7. commons.lang.mutable 包 ..........................................................................................24
3. Commons BeanUtils ...............................................................................................................24
3.1. commons.beanutils 包.................................................................................................25
3.1.1. BeanUtils.........................................................................................................25
3.1.2. BeanUtilsBean.................................................................................................28
3.1.3. PropertyUtils ...................................................................................................29
3.1.4. PropertyUtilsBean ...........................................................................................29
3.1.5. ConvertUtils ....................................................................................................29
3.1.6. ConvertUtilsBean............................................................................................30
3.1.7. ConstructorUtils ..............................................................................................30
3.1.8. MethodUtils.....................................................................................................31
3.1.9. DynaBean/DynaClass/DynaProperty ..............................................................32
3.1.10. BasiceDyanBean/BasicDynaClass ..................................................................32
3.1.11. WrapDynaBean/WrapDynaClass/ConvertingWrapDynaBean........................33
3.1.12. JDBCDynaClass/ResultSet/ResultSetIterator/RowSet....................................33
3.1.13. LazyDynaBean/LazyDynaClass/LazyDynaMap.............................................35
4. Commons Collections.............................................................................................................36
4.1. commons.collections.bag ............................................................................................37
4.2. commons.collections.buffer ........................................................................................38
4.3. commons.collections.bidimap.....................................................................................39
4.4. Comparator 组.............................................................................................................40
4.5. 算子组.........................................................................................................................41
4.5.1. Predicate..........................................................................................................44
4.5.2. Transformer .....................................................................................................45
4.5.3. Closure ............................................................................................................46
4.5.4. Factory ............................................................................................................46
4.6. Collections 组 .............................................................................................................47
4.6.1. FastArrayList/FastHashMap/FastTreeMap .....................................................47
4.6.2. ExtendedProperties .........................................................................................47
4.6.3. BoundedCollection/BoundedMap ...................................................................50
4.6.4. MultiKey .........................................................................................................50
4.7. Map 组 ........................................................................................................................51
4.7.1. MultiMap.........................................................................................................51
4.7.2. BeanMap .........................................................................................................51
4.7.3. LazyMap .........................................................................................................52
4.7.4. CaseInsensitiveMap ........................................................................................53
4.7.5. IdentityMap.....................................................................................................53
4.7.6. LRUMap .........................................................................................................53
4.7.7. MultiKeyMap..................................................................................................53
4.7.8. ReferenceMap/ReferenceIdentityMap ............................................................54
4.7.9. SingletonMap ..................................................................................................54
4.8. List 组 .........................................................................................................................54
4.8.1. CursorableLinkedList......................................................................................54
4.8.2. FixedSizeList...................................................................................................54
4.8.3. LazyList...........................................................................................................54
4.8.4. NodeCachingLinkedList .................................................................................55
4.8.5. TreeList ...........................................................................................................55
5. Commons Codec.....................................................................................................................55
5.1. commons.codec.binary................................................................................................56
5.1.1. Base64.............................................................................................................56
5.1.2. Hex..................................................................................................................56
5.1.3. BinaryCodec....................................................................................................57
5.2. commons.codec.digest ................................................................................................57
5.2.1. DigestUtil ........................................................................................................57
6. Commons Betwixt...................................................................................................................58
7. Commons Digester..................................................................................................................59
8. Commons CLI.........................................................................................................................62
9. Commons Discovery...............................................................................................................63
1. 概述
可重用性是 Jakarta Commons 项目的灵魂所在。这些包在设计阶段就已经考虑了可重用
性问题。其中一些包,例如 Commons 里面用来记录日志的 Logging 包,最初是为其他项目
设计的,例如 Jakarta Struts 项目,当人们发现这些包对于其他项目也非常有用,能够极大地
帮助其他项目的开发,他们决定为这些包构造一个"公共"的存放位置,这就是 Jakarta
Commons 项目。
为了真正提高可重用性,每一个包都必须不依赖于其他大型的框架或项目。因此,
Commons 项目的包基本上都是独立的,不仅是相对于其他项目的独立,而且相对于 Commons
内部的大部分其他包独立。虽然存在一些例外的情况,例如 Betwixt 包要用到 XML API,但
绝大部分只使用最基本的 API,其主要目的就是要能够通过简单的接口方便地调用。
2. Commons Lang
2.1. commons.lang 包
Lang 包提供了一些有用的包含 static 方法的 Util 类。除了 6 个 Exception 类和 2 个已经
deprecated 的数字类之外,commons.lang 包共包含了 17 个实用的类:
ArrayUtils 用于对数组的操作,如添加、查找、删除、子数组、倒序、元
素类型转换等
BitField 用于操作位元,提供了一些方便而安全的方法
BooleanUtils 用于操作和转换 boolean 或者 Boolean 及相应的数组
CharEncoding 包含了 Java 环境支持的字符编码,提供是否支持某种编码的判
断
CharRange 用于设定字符范围并做相应检查
CharSet 用于设定一组字符作为范围并做相应检查
CharSetUtils 用于操作 CharSet
CharUtils 用于操作 char 值和 Character 对象
ClassUtils 用于对 Java 类的操作,不使用反射
ObjectUtils 用于操作 Java 对象,提供 null 安全的访问和其他一些功能
RandomStringUtils 用于生成随机的字符串
SerializationUtils 用于处理对象序列化,提供比一般 Java 序列化更高级的处理能
力
StringEscapeUtils 用于正确处理转义字符,产生正确的 Java、JavaScript、HTML、
XML 和 SQL 代码
StringUtils 处理 String 的核心类,提供了相当多的功能
SystemUtils 在 java.lang.System 基础上提供更方便的访问,如用户路径、Java
版本、时区、操作系统等判断
Validate 提供验证的操作,有点类似 assert 断言
WordUtils 用于处理单词大小写、换行等
2.1.1.ArrayUtils
给 int[],String[] 等基本类型或基本包装类型的 Array 加上类似 CollectionsAPI 提供的
add,remove,reverse,subarray, indexOf, lastIndexOf, isEmpty, clone,把 null 认为是空数组
函数 参数 说明
add
add(Object[] array, int index, Object element)
add(Object[] array, Object element)
在数组的某个位置或者最后插入一个值,
相当于对 System.arraycopy做了个封装(数
组可以是 null)
addAll
addAll(Object[] array1, Object[] array2)
两个同类型数组叠加,相当于对
System.arraycopy 做了个封装(数组可以是
null)
clone
clone(Object[] array)
拷贝一个数组(数组可以是 null)
contains
contains (Object[] array, Object objectToFind)
检查值是否在数组内,数组可以是 null,
值如果是 null,则查数组内为 null 这一项
getLength
getLength(Object array)
得到数组长度(数组可以是 null)
indexOf
indexOf(Object[] array, Object objectToFind)
indexOf(Object[] array, Object objectToFind,
int startIndex)
搜索数组的值(数组可以是 null)
isEmpty
isEmpty(Object[] array)
检查数组为 null 或为空
isEquals
isEquals(Object array1, Object array2)
比较两个数组中的内容,支持多维数组
isSameLength
isSameLength(Object[] array1, Object[] array2)
两个数组长度是否相等,null 被视作空数
组
lastIndexOf
lastIndexOf(Object[] array, Object objectToFind)
lastIndexOf(Object[] array, Object objectToFind,
int startIndex)
从下往上找搜索数组的值 (数组可以是
null)
remove
remove(Object[] array, int index)
删除数组中某个位置的值
removeElement
removeElement(Object[] array, Object element)
删除数组中第一个匹配的值
reverse
reverse(Object[] array)
反转数组
subarray
subarray(Object[] array, int startIndexInclusive,
int endIndexExclusive)
取得数组的一部分
toMap
toMap(Object[] array)
Map colorMap = Array.toMap(new String[][] {{
将多维数组转为 map,第一维为 key,第二
维为 value
{"RED", "#FF0000"},
{"BLUE", "#0000FF"}});
toObject
将 int 数组转成 Integer 数组,
toPrimitive
将 Integer 数组转成 int 数组
toString
toString(Object array)
toString(Object array, String stringIfNull)
将数组转换成类似{a,b}文本
这段代码说明了我们可以如何方便的利用 ArrayUtils 类帮我们完成数组的打印、查找、克隆、
倒序、以及值型/对象数组之间的转换等操作。
package sean.study.jakarta.commons.lang;
import java.util.Map;
import org.apache.commons.lang.ArrayUtils;
public class ArrayUtilsUsage {
public static void main(String[] args) {
// data setup
int[] intArray1 = { 2, 4, 8, 16 };
int[][] intArray2 = { { 1, 2 }, { 2, 4 }, { 3, 8 }, { 4, 16 } };
Object[][] notAMap = {
{ "A", new Double(100) },
{ "B", new Double(80) },
{ "C", new Double(60) },
{ "D", new Double(40) },
{ "E", new Double(20) }
};
// printing arrays
System.out.println("intArray1: " + ArrayUtils.toString(intArray1));
System.out.println("intArray2: " + ArrayUtils.toString(intArray2));
System.out.println("notAMap: " + ArrayUtils.toString(notAMap));
// finding items
System.out.println("intArray1 contains '8'? "
+ ArrayUtils.contains(intArray1, 8));
System.out.println("intArray1 index of '8'? "
+ ArrayUtils.indexOf(intArray1, 8));
System.out.println("intArray1 last index of '8'? "
+ ArrayUtils.lastIndexOf(intArray1, 8));
// cloning and resversing
int[] intArray3 = ArrayUtils.clone(intArray1);
System.out.println("intArray3: " + ArrayUtils.toString(intArray3));
ArrayUtils.reverse(intArray3);
System.out.println("intArray3 reversed: "
剩余62页未读,继续阅读
资源评论
- Arvin-Lee2015-03-06文档内涉及到的资源挺齐全的,就是找着不太方便
- Dalechn2015-01-06果然是好资源 帮了我大忙了
PlanBird
- 粉丝: 4
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功