您的位置:首页 > 其它

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 NumberRange

builder包

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: