Jakarta Commons Cookbook讀書筆記系列
1.Apache Commons Lang 2.0
功能說明:提供對(duì)java語(yǔ)言基本設(shè)計(jì)的增強(qiáng)
主要功能:自動(dòng)生成toString(),hashCode(),equals(),compareTo()內(nèi)容,數(shù)組操作,格式化日期,創(chuàng)建枚舉量,生成UID,簡(jiǎn)單的參數(shù)驗(yàn)證,計(jì)時(shí)器……
1.1 自動(dòng)生成toString()內(nèi)容
import org.apache.commons.lang.builder.ReflectionToStringBuilder
public String toString(){
return ReflectionToStringBuilder.toString(this);
}
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
public String toString(){
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("attr1",attr1).append("attr2",attr2).toString();
}
1.2自動(dòng)生成compareTo()內(nèi)容,利用反射對(duì)比非static和非transient成員
public int compareTo(Object obj){
return CompareToBuilder.reflectionCompare(this,obj);
}
也可以使用CompareToBuilder類定制compareTo()方法
1.3使用HashCodeBuilder和EqualsBuilder自動(dòng)生成hashCode()和equals()
1.4數(shù)組操作org.apache.commons.lang.ArrayUtils
- toString()可以輸出數(shù)組內(nèi)容
- clone()等同于java數(shù)組的clone()
- reversed()反轉(zhuǎn)數(shù)組
- toPrimtive()和toObject()實(shí)現(xiàn)primitive和Object之間互換
- indexOf(),contains(),lastIndexOf()實(shí)現(xiàn)簡(jiǎn)單搜索
- toMap()實(shí)現(xiàn)多維數(shù)組到map的轉(zhuǎn)換
1.5格式化日期FastDateFormat(代替線程不安全的SimpleDateFormat)
- DateFormatUtils.ISO_DATE_FORMAT.format(new Date());
- DateFormatUtils已經(jīng)固化了數(shù)種ISO-8601標(biāo)準(zhǔn)的時(shí)區(qū)格式,例如ISO_DATE_FORMAT對(duì)應(yīng)"yyyy-MM-dd"
- DateFormatUtils可以舍入和截取Date對(duì)象
- 推薦使用一套線程安全的,可靠的日期時(shí)間API(http://www.joda.org/)
1.6繼承org.apache.commons.lang.enum.Enum或org.apache.commons.lang.enum.ValueEnum實(shí)現(xiàn)jdk1.4或以下版本的枚舉量。
1.7通過IdentifierUtils創(chuàng)建數(shù)字標(biāo)識(shí)符或者字母數(shù)字混合標(biāo)識(shí)符
1.8驗(yàn)證方法參數(shù)org.apache.commons.lang.Validate,可驗(yàn)證布爾表達(dá)式,null或空字符串
1.9計(jì)時(shí)器org.apache.commons.lang.time.StopWatch可以像秒表一樣啟動(dòng),停止,暫停,恢復(fù)計(jì)時(shí),重置以及拆分。用于計(jì)算代碼執(zhí)行時(shí)間。
Jakarta Commons Cookbook讀書筆記系列
程序員的一生其實(shí)可短暫了,這電腦一開一關(guān),一天過去了,嚎;電腦一開不關(guān),那就成服務(wù)器了,嚎……