不鼓励使用多行toString()输出?

时间:2018-09-02 10:39:53

标签: java

javase文档状态:

toString()
  

返回对象的字符串表示形式。通常,toString方法返回一个“以文本形式表示”此对象的字符串。结果应该是简洁,但信息性表示,易于阅读。建议所有子类都重写此方法。

在处理带有多个参数的对象时,将输出格式化为在控制台中显示正确的格式是一种好习惯吗?默认的eclipse生成实现将变量连接在一行中,这使读取变得很麻烦,需要来回滚动多次,并且不会在逻辑上对参数进行分组。

我想格式化输出的插入换行符,但是以前从未真正见过有人这样做。我最终会遇到记录器或其他问题吗,或者以我想要的方式格式化toString()的输出是否完美?

实施其他方法toStringPretty()更好吗?

1 个答案:

答案 0 :(得分:0)

通常不建议避免从toString()生成多行字符串。 正如java doc所说的那样,它应该简洁明了,但如果您发现自己需要在日志文件中格式化和表示很多字段的情况下,请注意没有人会寻找漂亮的日志。该日志应可使用正则表达式进行搜索,以方便查找所需内容。

我可以建议您的是,与其在日志文件中设置多行格式以提高可读性,不如以易于阅读和搜索的单行Json格式打印元素,但是如果要在控制台上显示输出内容对于用户而言,最好在toString()

之外提取格式逻辑