toString实现的最佳标准样式是什么?


问题内容

我们有很多对象,我们希望为其实现简单toString的输出对象属性的对象。其中一些属性可能是复杂的对象本身。

是否有任何标准,或者仅仅是样式的最佳实践?我在想类似的东西:

[SimpleClassName] { prop1:value, prop2:value }

在这种情况下,嵌套值将如下所示:

[SimpleClassName] { prop1:value, prop2:[NestedObject] { prop3:value}}

我们正在使用Java,但是我发现自己在大多数语言中都在问同样的问题!


问题答案:

就我个人而言,我发现混合使用它[]{}不太容易立即获得层次结构的视图。

我喜欢这种格式(并且已经在很多地方看到它使用过):

SimpleClassName[prop1=value, prop2=value]
SimpleClassName[prop1=value, prop2=NestedObject[prop3=value]]

还有与添加的标识符的可能性@,例如默认样式公共琅
ToStringBuilder也认为(使用它自己的例子):

Person@182f0db[name=John Doe,age=33,smoker=false]