- ToStringBuilder在commons-lang.jar里面。
- 为什么使用ToStringBuilder?
系统一般都要打印日志的,因为所有实体的toString()方法都用的是简单的“+”,因为每“+”一个就会new 一个String对象,占用较多内存。使用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参数说明:
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