ToStringBuilder学习(一)
2017-02-06 15:26
417 查看
ToStringBuilder在commons-lang.jar里面。
为什么使用ToStringBuilder?
系统一般都要打印日志的,因为所有实体的toString()方法都用的是简单的“+”,因为每“+”一个就会new 一个String对象,占用较多内存。使用ToStringBuilder就可以避免这种问题。
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
为什么使用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_STYLEcom.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
相关文章推荐
- ToStringBuilder学习总结
- apache.commons.lang.builder 学习(一) ToStringBuilder
- ToStringBuilder学习(一):常用方法介绍
- ToStringBuilder学习(四):readResolve()方法与序列化
- ToStringBuilder学习(三):abstract、子类与多态的单例模式
- ToStringBuilder学习(二):两种方法用法优缺点及一个问题
- ToStringBuilder学习(一):常用方法介绍
- Jakarta Commnos lang学习(1)——ReflectionToStringBuilder
- ToStringBuilder、HashCodeBuilder、EqualsBuilder、ToStringStyle、ReflectionToStringBuilder等学习
- ToStringBuilder学习(一):常用方法介绍
- ToStringBuilder学习
- Apache Common-Lang ToStringBuilder分析
- Weka学习 -- StringToWordVector 源码学习(1)
- Java学习笔记--String StringBuffer StringBuilder
- 黑马程序员—Java基础学习笔记之String&&StringBuffer&&StringBuilder
- ToStringBuilder动态列出javabean的信息
- 我的安卓学习之路--String StringBuffer StringBuilder的区别
- ReflectionToStringBuilder对toString的支持
- ToStringBuilder.reflectionToString 用法
- 黑马程序员_Java学习日记_JAVA中API中对象String和StringBuffer/StringBuilder