Jakarta Commons
liliugen
这个作者很懒,什么都没留下…
展开
-
[Jakarta Commons笔记] 开篇
在Java的世界,有很多(成千上万)开源的框架,有成功的,也有不那么成功的,有声名显赫的,也有默默无闻的。在我看来,成功而默默无闻的那些框架值得我们格外的尊敬和关注,Jakarta Commons就是这样的一个框架。如果你至少参与了一个中型规模的Java项目,那么我想有超过一大半的机会你都接触和使用到了Jakarta Commons,不管你自己有没有察觉。就我所知,除了Apache Jakart...原创 2008-11-11 13:45:16 · 71 阅读 · 0 评论 -
Commons Collections - Collection 组
接下来看看Collection组。 TypedCollection CollectionUtils 首先就是这个TypedCollection,它实际上的作用就是提供一个decorate方法,我们传进去一个Collection和需要的类型甄别信息java.lang.Class,它给我们创建一个全新的强类型的Collection。我们其实在bag、buffer、list、map、set这些...原创 2008-11-12 09:43:17 · 192 阅读 · 0 评论 -
Commons Collections - Comparator组
接下来我们会讲到辅助类,首先看Comparator组。 ReverseComparator ComparatorChain NullComparator FixedOrderComparator ComparatorUtils 其实Comparator这个概念并不是Commons Collections引入的,在标准的Java Collections API中,已经明确定了一个java.u...原创 2008-11-12 09:55:47 · 84 阅读 · 0 评论 -
[Jakarta Commons笔记]Commons Collections - Predicate
接下来看Predicate组 Predicate AndPredicate OrPredicate AllPredicate OnePredicate NonePredicate PredicateUtils Predicate是Commons Collections中定义的一个接口,可以在org.apache.commons.collections包中找到。其中定义的方法签名如下: ...原创 2008-11-12 10:17:07 · 113 阅读 · 0 评论 -
Commons Collections - Transformer
接下来看Transformer组。 Transformer ChainedTransformer SwitchTransformer TransformerUtils 我们有时候需要将某个对象转换成另一个对象供另一组方法调用,而这两类对象的类型有可能并不是出于同一个继承体系的,或者说出了很基本的Object之外没有共同的父类,或者我们根本不关心他们是不是有其他继承关系,甚至就是同一个类的实例只是...原创 2008-11-12 10:19:06 · 186 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Collections - Closure组
接下来看Closure组。 Closure ChainedClosure IfClosure WhileClosure ClosureUtils Closure这一组接口和类提供一个操作对象的execute方法,为我们在处理一系列对象时可以将处理逻辑分离出来。理论上讲,使用Transformer也可以达到类似的效果,只要输出对象和输入对象是同一个对象就好,但是Closure接口定义的ex...原创 2008-11-12 10:31:20 · 132 阅读 · 0 评论 -
Commons Collections - Transformer组 补充
// transformer setup Transformer developerTransformer = new Transformer() { public Object transform(Object obj) { Applicant app = (Applicant) obj; ...原创 2008-11-12 11:11:53 · 127 阅读 · 0 评论 -
Jakarta Commons笔记] 结语
在前面的随笔中,我们一起过了一遍Jakarta Commons这个类库中非常重要的三个子项目:Commons Lang、Commons BeanUtils和Commons Collections,这些工具包在无数开源或商业框架中都可以找到,可以说应用范围非常广。 当然,Jakarta Commons提供的API远不止我们提到的这些,除了上述三个核心项目之外,还有读取和映射XML文档的Dige...原创 2008-11-12 11:15:28 · 114 阅读 · 0 评论 -
分享 commons io 工具类 代码
来自:http://www.iteye.com/topic/575996 输入流复制到输出流 [code="java"]public class IoTest { /** * @param args */ public static void main(String[] args) throws Exception { // TODO Auto-ge...原创 2011-03-04 17:53:47 · 67 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Collections - Map组
接下来看Map组。 BidiMap MultiMap LazyMap MapUtils Commons Collections在java.util.Map的基础上扩展了很多接口和类,比较有代表性的是BidiMap、MultiMap和LazyMap。跟Bag和Buffer类似,Commons Collections也提供了一个MapUtils。 所谓BidiMap,直译就是双向Map,...原创 2008-11-12 09:39:42 · 123 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Collections - Buffer组
来看Buffer组。 Buffer BlockingBuffer BoundedFifoBuffer PriorityBuffer UnboundedFifoBuffer BufferUtils Buffer是定义在org.apache.commons.collections包下面的接口,用于表示按一定顺序除去成员对象的collection如队列等。具体的实现类在org.apache.co...原创 2008-11-12 09:23:52 · 112 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Collections - Bag组
先来看Bag组。 Bag HashBag BagUtils Bag是在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。之所以有这样一组类型,是因为我们有时候需要在Collection中存放多个相同对象的拷贝,并且需要很方便的取得该对象拷贝的个数。需要注意的一点是它虽...原创 2008-11-11 17:48:01 · 114 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Lang
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。目前这组API的版本是2.1,下载地址如下: http://apache.justdn.org/jakarta/commons/lang/binaries/...原创 2008-11-11 15:32:41 · 109 阅读 · 0 评论 -
[Jakarta Commons笔记] 代码范例 - ArrayUtils StringUtils
数组是我们经常需要使用到的一种数据结构,但是由于Java本身并没有提供很好的API支持,使得很多操作实际上做起来相当繁琐,以至于我们实际编码中甚至会不惜牺牲性能去使用Collections API,用Collection当然能够很方便的解决我们的问题,但是我们一定要以性能为代价吗?ArrayUtils帮我们解决了处理类似情况的大部分问题。来看一个例子: package sean.study....原创 2008-11-11 15:34:55 · 89 阅读 · 0 评论 -
[Jakarta Commons笔记] commons.lang.builder
在前面的专题文章中,我们一起过了一遍org.apache.commons.lang包,接下来我们继续看org.apache.commons.lang.builder这个包。在这里面我们可以找到7个类,用于帮助我们实现Java对象的一些基础的共有方法。这7个类分别是: CompareToBuilder – 用于辅助实现Comparable.compareTo(Object)方法; Equals...原创 2008-11-11 15:36:05 · 85 阅读 · 0 评论 -
[Jakarta Commons笔记] org.apache.commons.lang.math
在Jakarta Commons中,专门处理数学计算的类分别可以在两个地方找到:一是Commons Lang的org.apache.commons.lang.math包中,二是在Commons Math这个单独的子项目中。由于后者主要是处理复数、矩阵等,相对使用比较少,在我的笔记中就只简单讲讲Commons Lang中的math包。对后者感兴趣的可以看看 http://jakarta.apache...原创 2008-11-11 16:12:10 · 301 阅读 · 0 评论 -
[Jakarta Commons笔记] org.apache.commons.lang.time
好了,来看我在Common Lang中最后要讲的一个包:org.apache.commons.lang.time。这个包里面包含了如下5个类: DateFormatUtils – 提供格式化日期和时间的功能及相关常量; DateUtils – 在Calendar和Date的基础上提供更方便的访问; DurationFormatUtils – 提供格式化时间跨度的功能及相关常量; FastDat...原创 2008-11-11 16:14:59 · 89 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons BeanUtils
Jakarta Commons项目提供了相当丰富的API,我们之前了解到的Commons Lang只是众多API的比较核心的一小部分而已。Commons下面还有相当数量的子项目,用于解决各种各样不同方向的实际问题,BeanUtils就是其中的一个,用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。...原创 2008-11-11 16:44:39 · 88 阅读 · 0 评论 -
[Jakarta Commons笔记] 代码范例 - BeanUtils
假定我们有如下两个标准的JavaBean: /** Address.java */ package sean.study.commons.beanutils; public class Address { private String zipCode; private String addr; private String city; privat...原创 2008-11-11 16:56:37 · 92 阅读 · 0 评论 -
[Jakarta Commons笔记] Commons Collections
Commons Collections,又是一个重量级的东西,为Java标准的Collections API提供了相当好的补充。我不知道其他人,就我自己而言,让我用java.util.Collection及其子类,加上java.util.Collections类提供的操作方法,处理一些简单的数据结构问题还可以,稍微复杂一点的就觉得有点头痛,很多细节的地方需要我插入这样那样的小逻辑,或者感觉它太死...原创 2008-11-11 17:30:51 · 144 阅读 · 0 评论 -
妙用Commons良药 StringUtils
来自:http://lighter.iteye.com/blog/102502 谈谈怎么用org.apache.commons.lang.StringUtils这一个类,讲一下具体的几个常用的方法 使用StringUtils.isBlank(),该方法在收到空字符串,零长度字符串或全为空格的字符串时将返回true.它能通过返回true的方式优雅地处理null. [code="j...原创 2011-03-08 10:48:19 · 102 阅读 · 0 评论