要轻松实现对象的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,no Classname,short等。
通过反射:
@Override public String toString() { return ToStringBuilder.reflectionToString(this); }
您还可以指出样式:
@Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE); }