We have a lot of objects for which we like to implement a simple toString
to output attributes of the object. Some of these attributes may be complex objects themselves.
Is there any standard, or simply just a best practice for a style? I'm thinking something like:
[SimpleClassName] { prop1:value, prop2:value }
In which case a nested value would look like:
[SimpleClassName] { prop1:value, prop2:[NestedObject] { prop3:value}}
We are using Java but I find myself asking the same question in most languages!
I think the format produced by Guava's MoreObjects.toStringHelper() is pretty nice, but it's mainly just good to have some consistent format that you use:
public String toString() {
return Objects.toStringHelper(this)
.add("prop1", prop1)
.add("prop2", prop2)
.toString();
}
// Produces "SimpleClassName{prop1=foo, prop2=bar}"