java.lang.Object已经提供的toString()方法的实现,
但它返回的字符串分三个部分:类的名字、一个@符号、一个无符号的十六进制的散列码。
这在大多数情况下不能满足我们的需求,因此我们每次都需要进行重写,
但commons-lang-2.3.jar包的Apache软件基金组织发行的Common Lang组件中的ReflectionToStringBuilder类的toString方法可以满足我们绝大多数的要求,
这方法的调用形式如下(显示所有的属性):
ReflectionToStringBuilder.toString(Object object) ;
ReflectionToStringBuilder.toString(Object object, ToStringStyle style)
第二个带参数的方式还可以选择输出的样式。
如果觉得输出的内容过多,如果想对toString()方法输出的内容进行定制,则需要使用ToStringBuilder和ToStringStyle这两个类。ToStringBuilder类中的append方法可以向该类添加基本类型、数组和对象 ,只有添加的方法才会被toString方法输出。
ToStringStyle类则是对输出的内容进行格式化。(显示指定的属性)
例:
public String toString(){
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("name", name)
.append("age", age)
.toString();
}
评论0
最新资源