Java实现toString()方法
示例
要轻松实现对象的toString方法,可以使用ToStringBuilder类。
选择字段:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append(field1);
builder.append(field2);
builder.append(field3);
return builder.toString();
}结果示例:
ar.com.jonat.lang.MyClass@dd7123[<null>,0,false]
明确命名字段:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this);
builder.append("field1",field1);
builder.append("field2",field2);
builder.append("field3",field3);
return builder.toString();
}结果示例:
ar.com.jonat.lang.MyClass@dd7404[field1=<null>,field2=0,field3=false]
您可以通过参数更改样式:
@Override
public String toString() {
ToStringBuilder builder = new ToStringBuilder(this,
ToStringStyle.MULTI_LINE_STYLE);
builder.append("field1", field1);
builder.append("field2", field2);
builder.append("field3", field3);
return builder.toString();
}结果示例:
ar.com.bna.lang.MyClass@ebbf5c[ field1=<null> field2=0 field3=false ]
有一些样式,例如JSON,noClassname,short等。
通过反射:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}您还可以指出样式:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
}