Commons Lang
官方地址:http://jakarta.apache.org/commons/lang/
概述:
???標(biāo)準(zhǔn)的java庫(kù)并沒(méi)有提供足夠的處理他的核心類的方法,Lang組件提供了這些擴(kuò)展的方法
???lang 組件為java.lang API提供了一套幫助類。特別是String處理方法,基本的數(shù)字處理方法,對(duì)象反射,創(chuàng)建和序列化和系統(tǒng)屬性。另外他包含了一個(gè)可繼承的
enum類型,一個(gè)exception結(jié)構(gòu),對(duì)java.util.Date的基本加強(qiáng)以及一系列構(gòu)建方法,比如hashCode,toString和equals
可以點(diǎn)擊下面的連接獲得體驗(yàn):
http://www.j2medev.com/bbs/dispbbs.asp?boardid=3&id=3835&star=1&page=3
http://www.sentom.net/list.asp?id=76
??
lang.*
????String字符串處理-StringUtils,StringEscapeUtils,RondomStringUtils,Tokenizer,WordUtils.
??? RandomStringUtils 顧名思義,它提供了一段文本,常用來(lái)做默認(rèn)密碼的值。 StringEscapeUtils 包含了escape和unescape "java,javascript,html,xml和sql"的方法。 Tokenizer 是java.util.StringTokenizer的改良。
?? 另外,WordUtils是另一個(gè)String處理類。他在String的單詞層次上工作,比如,WordUtils.capitalize方法會(huì)將一段文本中的每個(gè)單詞都首字母大寫。WordUtils也包含了包裝文本的方法。
???字符處理- CharSetUtils, CharSet, CharRange, CharUtils
字符的處理也很重要,CharUtils因此而存在。CharSetUtils則是為了對(duì)字符串作批處理。注意,盡管CharSetUtils接受一個(gè)String參數(shù),但卻把它當(dāng)成一組字符。比如:CharSetUtils.delete("testtest", "tr")將刪除所有的t和所有的r,而不僅僅是tr這個(gè)字符串。
CharRange和CharSet是CharSetUtils內(nèi)部將要用到的類。
JVM交互-SystemUtils, CharEncoding
SystemUtils是個(gè)很小的類,他將使你獲得你的JVM平臺(tái)信息變得更為簡(jiǎn)單。比如:
序列化-SerializationUtils, SerializationException
?序列化并不難!一個(gè)簡(jiǎn)單的工具類就可以刈除你的痛苦。而且,他提供一個(gè)方法通過(guò)反序列化和重序列化來(lái)克隆對(duì)象,這是個(gè)很老的java訣竅。
Assorted functions -ObjectUtils,ClassUtils,ArrayUtils,BooleanUtils
? ObjectUtils提供了許多對(duì)對(duì)象便利的操作,以及大部分的對(duì)java.lang.Object的方法的null-safe實(shí)現(xiàn)。
???ClassUtils提供了一套用于反射的幫助函數(shù)。值得留意的是在ClassUtils隱含的comparators,他可以對(duì)Class和package按名稱進(jìn)行排序。這個(gè)排序僅僅是字典排序。
???接下來(lái),我們介紹ArrayUtils.他有很多方法和這些方法的重載方法。這個(gè)類值得我們深入的了解一下。開始之前,我們假設(shè)所有的被提及的方法都被重載(無(wú)論是基本類型還是對(duì)象類型)。而且,‘xxx’代表了一個(gè)基本類型,有時(shí)候也包含了對(duì)象。
?????? Map colorMap = MapUtils.toMap(new String[][] {{
?????????? {"RED", "#FF0000"},
?????????? {"GREEN", "#00FF00"},
?????????? {"BLUE", "#0000FF"}
?????? });
???? BooleanUtils,對(duì)這個(gè)類,或許你有時(shí)候會(huì)對(duì)他的BooleanUtils.toBoolean(String)方法感興趣。
異常-IllegalClassException, IncompleteArgumentException, NotImplementedException, NullArgumentException, UnhandledException
?lang.builder.*
??提供了HashCodeBuilder,EqualsBuilder, CompareToBuilder, ToStringBuilder。筆者在項(xiàng)目中經(jīng)常用到HashCodeBuilder,具體用法參照文章前面給出的連接。
lang.enums.* (formerly lang.enum)
???他主要的功能就是為你的常量賦值,并且給定他們的順序. For example:
概述:
???標(biāo)準(zhǔn)的java庫(kù)并沒(méi)有提供足夠的處理他的核心類的方法,Lang組件提供了這些擴(kuò)展的方法
???lang 組件為java.lang API提供了一套幫助類。特別是String處理方法,基本的數(shù)字處理方法,對(duì)象反射,創(chuàng)建和序列化和系統(tǒng)屬性。另外他包含了一個(gè)可繼承的
enum類型,一個(gè)exception結(jié)構(gòu),對(duì)java.util.Date的基本加強(qiáng)以及一系列構(gòu)建方法,比如hashCode,toString和equals
可以點(diǎn)擊下面的連接獲得體驗(yàn):
http://www.j2medev.com/bbs/dispbbs.asp?boardid=3&id=3835&star=1&page=3
http://www.sentom.net/list.asp?id=76
??
lang.*
????String字符串處理-StringUtils,StringEscapeUtils,RondomStringUtils,Tokenizer,WordUtils.
??? RandomStringUtils 顧名思義,它提供了一段文本,常用來(lái)做默認(rèn)密碼的值。 StringEscapeUtils 包含了escape和unescape "java,javascript,html,xml和sql"的方法。 Tokenizer 是java.util.StringTokenizer的改良。
?? 另外,WordUtils是另一個(gè)String處理類。他在String的單詞層次上工作,比如,WordUtils.capitalize方法會(huì)將一段文本中的每個(gè)單詞都首字母大寫。WordUtils也包含了包裝文本的方法。
???字符處理- CharSetUtils, CharSet, CharRange, CharUtils
字符的處理也很重要,CharUtils因此而存在。CharSetUtils則是為了對(duì)字符串作批處理。注意,盡管CharSetUtils接受一個(gè)String參數(shù),但卻把它當(dāng)成一組字符。比如:CharSetUtils.delete("testtest", "tr")將刪除所有的t和所有的r,而不僅僅是tr這個(gè)字符串。
CharRange和CharSet是CharSetUtils內(nèi)部將要用到的類。
JVM交互-SystemUtils, CharEncoding
SystemUtils是個(gè)很小的類,他將使你獲得你的JVM平臺(tái)信息變得更為簡(jiǎn)單。比如:
SystemUtils.isJavaVersionAtLeast(1.3f)
。CharEncoding也是被用來(lái)做和jvm的交互,可能會(huì)被用來(lái)查看特定的環(huán)境上支持那種字符編碼。序列化-SerializationUtils, SerializationException
?序列化并不難!一個(gè)簡(jiǎn)單的工具類就可以刈除你的痛苦。而且,他提供一個(gè)方法通過(guò)反序列化和重序列化來(lái)克隆對(duì)象,這是個(gè)很老的java訣竅。
Assorted functions -ObjectUtils,ClassUtils,ArrayUtils,BooleanUtils
? ObjectUtils提供了許多對(duì)對(duì)象便利的操作,以及大部分的對(duì)java.lang.Object的方法的null-safe實(shí)現(xiàn)。
???ClassUtils提供了一套用于反射的幫助函數(shù)。值得留意的是在ClassUtils隱含的comparators,他可以對(duì)Class和package按名稱進(jìn)行排序。這個(gè)排序僅僅是字典排序。
???接下來(lái),我們介紹ArrayUtils.他有很多方法和這些方法的重載方法。這個(gè)類值得我們深入的了解一下。開始之前,我們假設(shè)所有的被提及的方法都被重載(無(wú)論是基本類型還是對(duì)象類型)。而且,‘xxx’代表了一個(gè)基本類型,有時(shí)候也包含了對(duì)象。
- ArrayUtils 為基本類型提供了一個(gè)單態(tài)的空疏組.這些將被Collections API的toArray()方法中用到, 也可以在用在那些希望在發(fā)生錯(cuò)誤時(shí)返回空數(shù)組的方法中.
add(xxx[], xxx)
添加一個(gè)原始類型到一個(gè)數(shù)組, 自動(dòng)調(diào)整數(shù)組的大小. 對(duì)象類型可以用.clone(xxx[])
克隆一個(gè)基本類型或者對(duì)象數(shù)組.contains(xxx[], xxx)
在一個(gè)基本類型或者對(duì)象類型的數(shù)組中查找一個(gè)基本類型或者對(duì)象類型.getLength(Object)
返回一個(gè)數(shù)組的大小.如果參數(shù)不是一個(gè)數(shù)組,將會(huì)返回一個(gè)IllegalArgumentException異常。- ?
hashCode(Object)
,equals(Object, Object)
,toString(Object)
indexOf(xxx[], xxx)
和indexOf(xxx[], xxx, int)
是仿照String的相關(guān)方法,?但是他用來(lái)處理primitive/Object數(shù)組.?另外,?lastIndexOf?系列的方法也存在.isEmpty(xxx[])
判斷一個(gè)數(shù)組是否為null或者空.isSameLength(xxx[], xxx[])
判斷2個(gè)數(shù)組的大小是否相等.- 除了添加的方法,?這里也提供了2類刪除的方法.?第一種是根據(jù)索引刪除:remove(xxx[], int),?第二種刪除數(shù)組中的第一個(gè)值:remove(xxx[], xxx).?
- ?
reverse(xxx[])
?翻轉(zhuǎn)一個(gè)數(shù)組. - The
subarray(xxx[], int, int)
取出一個(gè)大數(shù)組的一部分. - 基本類型和基本類型的包裝類之間的轉(zhuǎn)換可以通過(guò)
toObject(xxx[])
和toPrimitive(Xxx[])
方法.
?????? Map colorMap = MapUtils.toMap(new String[][] {{
?????????? {"RED", "#FF0000"},
?????????? {"GREEN", "#00FF00"},
?????????? {"BLUE", "#0000FF"}
?????? });
???? BooleanUtils,對(duì)這個(gè)類,或許你有時(shí)候會(huì)對(duì)他的BooleanUtils.toBoolean(String)方法感興趣。
異常-IllegalClassException, IncompleteArgumentException, NotImplementedException, NullArgumentException, UnhandledException
?lang.builder.*
??提供了HashCodeBuilder,EqualsBuilder, CompareToBuilder, ToStringBuilder。筆者在項(xiàng)目中經(jīng)常用到HashCodeBuilder,具體用法參照文章前面給出的連接。
lang.enums.* (formerly lang.enum)
???他主要的功能就是為你的常量賦值,并且給定他們的順序. For example:
public final class ColorEnum extends Enum { public static final ColorEnum RED = new ColorEnum("Red"); public static final ColorEnum GREEN = new ColorEnum("Green"); public static final ColorEnum BLUE = new ColorEnum("Blue"); private ColorEnum(String color) { super(color); } public static ColorEnum getEnum(String color) { return (ColorEnum) getEnum(ColorEnum.class, color); } public static Iterator iterator() { return iterator(ColorEnum.class); } }?
posted on 2006-05-26 12:48 binge 閱讀(476) 評(píng)論(0) 編輯 收藏