apache的common中常用工具类

1 BeanUtils

l  实体类克隆ChildJavaBeanperson2 =  (ChildJavaBean)BeanUtils.cloneBean(childJavaBean);  


目标类可以是原始类相同,或者是其父类

l  Map和javabean的相互转化


BeanUtils.describe()将javabean转map

BeanUtils.populate()将map转成bean

2 Codec

提供了一些公共的编码实现,比如Base64,Hex,MD5等

org.apache.commons.codec.binary.Base64


org.apache.commons.codec.digest.DigestUtils


org.apache.commons.codec.net.URLCodec.URLCodec()

 

 

3 Collections

OrderedMap,LinkedMap

Collections包中的“Map”是在java.util.Map的基础上扩展的接口和类。有如下常用的Map:

LinkedMap,可以维护条目顺序的map;

BidiMap,即双向Map,可以通过key找到value,也可以通过value找到key。需要注意的是BidiMap中key和value都不可以重复;

MultiMap,一个key指向的是一组对象,add()和remove()的时候跟普通的Map无异,只是在get()时返回一个Collection,实现了一对多;LazyMap,即Map中的键/值对一开始并不存在,当被调用到时才创建。 

/** * 构建map初始数据 * @param map */private static Map buildMap(Map map) {map.put("one", "1"); map.put("two","2"); map.put("three", "3");map.put("four", "4"); return map;}

LinkedMap是一个可以维护Map中条目顺序的Map实现,条目顺序由最初的数据插入时来决定。同时也增加上面所说的 MapIterator功能和一些便利的方法,并允许进行双向迭代。相较于 JDK1.4中的 LinkedHashMap效率有所提高,它还实现了 OrderedMap接口。此外,还提供了非接口方法通过索引来访问Map中的数据。需要注意的是LinkedMap不是同步的,不是线程安全的。如果你想使用 LinkedMap的同时使用多个线程,您必须使用适当的同步操作。最简单的方法是使用 Collections.synchronizedMap(Map)来包装 LinkedMap。如果不使用同步操作,当并发线程访问这个类时可能会抛出异常。

双向mapDualHashBidiMap

DualHashBidiMap可以通过key找到value,也可以通过value找到key


一对多mapMultiMap

MultiMap:一个key不在是简单的指向一个对象,而是一组对象


ArrayUtils

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值