ToStringBuilder在commons-lang.jar里面。為什么使用ToStringBuilder? 系統(tǒng)一般都要打印日志的,因?yàn)樗袑?shí)體的toString()方法都用的是簡單的“+”,因?yàn)槊俊?”一個(gè)就會(huì)new 一個(gè)String對(duì)象,占用較多內(nèi)存。使用ToStringBuilder就可以避免這種問題。兩種重新toString的方法:
第一種:append方法:
public String toString() { return new ToStringBuilder(this).append("ssn", ssn).append("year", year).append("lastName", lastName).toString(); }第二種:反射 reflectionToString 方法
public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); }ToStringStyle參數(shù)說明:
1. DEFAULT_STYLE com.entity.Person@182f0db[name=John Doe,age=33,smoker=false]
2. MULTI_LINE_STYLE com.entity.Person@182f0db[ name=John Doe age=33 smoker=false
3. NO_FIELD_NAMES_STYLE com.entity.Person@182f0db[John Doe,33,false]
4. SHORT_PREFIX_STYLE (即截去了包名) Person[name=John Doe,age=33,smoker=false]
5. SIMPLE_STYLE John Doe,33,false