Jakarta-Commons—lang(2)——其他包
2012-02-01 08:58
204 查看
time包
(DateFormatUtil+ DateUtil): 完成日期的转换和日期的操作FastDateFormat支持多线程,是SimpleDateFormat的替代
StopWatch:提供秒表服务
DurationFormatUtils:完成持续时间的格式化
FormatDuration 格式化从0—参数指定毫秒到日期格式
formatPeriod 格式化从start—end指定毫秒到日期格式
text包
CompositeFormat
两个java.text.Format的组合,使用parser解析文字,另一个formatter格式化,如webapp中,在界面上显示是一种格式,在数据库中存储是另一种格式。格式化:format
解析对象:parseObject
先解析后格式化:reformat
StrBuilder
相当于StringBuilder/StringBuffer的扩展,不同在于:1. 非同步
2. 子类可直接访问 character array
方法介绍:
添加:
Append 可添加部分char数组、字串、部分StringBuilder
AppendIn 同Append,不过最后加一个换行
AppendFixedWidthPadLeft/Right 长度固定并截断
末尾添加: appendNewLine appendNull appendPadding appendSeparator(有loopIndex作为参数时,<0时不添加)
查找:
Contains indexOf lastIndexOf
判断
Equals equalsIgnoreCase isEmpty startsWith
字串:
LeftString(左边的子串) midString rightString getNewLineText/NullText substring
插入:
insert
删除:
Delete (区间、某一个Index)
deleteAll、deleteFirst (某一字符串)
替换:
Replace(替换区间) replaceAll replaceFirst(全部、某一个)
转换:
AsReader asTokenizer asWriter
其他:
Reverse trim
StrMatcher
构造 char charSet comma 单引号、双引号、引号、none、space、split(space,tab,newline,formfeed)、string、tab、trim的matcher调用 isMatch 判断char[]中出现的个数
StrSubstitutor
类似于freemarker的功能,变量可以是system property或者map,支持递归替换实例如下:
[code] StrSubstitutor.replaceSystemProperties( "You are running with java.version = ${java.version} and os.name = ${os.name}."); Map valuesMap = HashMap(); valuesMap.put("animal", "quick brown fox"); valuesMap.put("target", "lazy dog"); String templateString = "The ${animal} jumped over the ${target}."; StrSubstitutor sub = new StrSubstitutor(valuesMap); String resolvedString = sub.replace(templateString); ${${name}} must be used 可以是 ${${name}} must be used,$相当于r
[/code]
对常用的user cases进行了简化,如静态方法 replace replaceSystemProperties方法
StrTokenizer
类似于StringTokenizer,主要对文本处理math包
NumberUtils
和Number BigNumber配合提供了处理数值数据的方法。方法:
将String转换成数值 createNumber().XXXValue(抛出异常) toXXX(转换失败返回0)
比较:
Compare (比较double 和float)
Min max
RandomUtils
提供静态函数访问JVMRandom, 通过nextXXX 得到随机数数据类型
DoubleRange FloatRange IntRnage LongRange NumberRangebuilder包
Builder包里的类提供了一些特殊的方法,可用来构造类的toString、hashCode、compareTo和equals方法。所有builder的实现类似,有两种常用的方法:new XXXBuilder().append来实现输出指定属性的值;使用静态函数 reflectionXXX 对所有属性操作
例如,我们可以用ToStringBuilder来构造出类的toString描述,
return new ToStringBuilder(this). append("rate", this.rate). append("years", this.years). toString();
相关文章推荐
- Jakarta-Commons—lang(1)——lang
- 利用Jakarta Commons Lang简化Java
- 利用Jakarta Commons Lang简化Java (zz)
- Simplifying Java with Jakarta Commons Lang
- 利用Jakarta Commons Lang简化Java
- 利用Jakarta Commons Lang简化Java
- 本週主題 -- Jakarta Commons Lang
- 利用Jakarta Commons Lang简化Java
- Jakarta Commons Lang之builder
- java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory.class
- org.apache.commons.lang.time.DurationFormatUtils
- apache.commons.lang.StringUtils 使用心得
- 用JSON报的一个错误java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept
- 利用Jakarta commons fileupload组件实现多文件上传
- java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
- java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 解决方案
- commons.lang
- 姚博文 ava.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.isBlank
- java.lang.NoSuchMethodError: org.apache.commons.pool.impl.GenericObjectPool.setMinIdle(I)V
- maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils