Nic*_*ole 36 javascript php java actionscript tostring
我们有很多对象,我们希望实现一个简单toString的输出对象属性.其中一些属性本身可能是复杂的对象.
是否有任何标准,或仅仅是一种风格的最佳实践?我想的是:
[SimpleClassName] { prop1:value, prop2:value }
Run Code Online (Sandbox Code Playgroud)
在这种情况下,嵌套值将如下所示:
[SimpleClassName] { prop1:value, prop2:[NestedObject] { prop3:value}}
Run Code Online (Sandbox Code Playgroud)
我们正在使用Java,但我发现自己在大多数语言中都提出同样的问题!
Col*_*inD 31
我认为Guava的MoreObjects.toStringHelper()生成的格式非常好,但是使用一些一致的格式主要是好的:
public String toString() {
return Objects.toStringHelper(this)
.add("prop1", prop1)
.add("prop2", prop2)
.toString();
}
// Produces "SimpleClassName{prop1=foo, prop2=bar}"
Run Code Online (Sandbox Code Playgroud)
Wou*_*rts 26
就个人而言,我发现混合[]并且{}不那么容易立即查看层次结构.
我喜欢这种格式(我已经看到它在很多地方使用):
SimpleClassName[prop1=value, prop2=value]
SimpleClassName[prop1=value, prop2=NestedObject[prop3=value]]
Run Code Online (Sandbox Code Playgroud)
还有与添加的标识符的可能性@,例如默认样式为公共琅 ToStringBuilder确实是(用自己的例子):
Person@182f0db[name=John Doe,age=33,smoker=false]
Run Code Online (Sandbox Code Playgroud)