您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

当我们重写toString()方法时,我们应该始终返回对象的字符串表示形式吗?

当我们重写toString()方法时,我们应该始终返回对象的字符串表示形式吗?

toString主要用于表示对象是程序员的情况,例如调试和日志记录,我们需要查看对象的某些文本版本。使用对象中的信息,当您在日志文件或调试器中看到该信息时,该信息将对您有用。摘自Effective Java,第3章,第10条:

尽管它不像遵守equals和hashCode契约(第8项,第9项)那么重要,但是提供良好的toString实现会使您的类使用起来更加愉快。当将对象传递给println,printf,字符串连接运算符或断言或由调试器打印时,toString方法自动调用

api文档中有关Object#toString的建议是:

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

返回null永远不会视为提供信息,并且很容易引起误解。似乎有人在使用toString来完成原本不希望的事情。

其他 2022/1/1 18:25:32 有813人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶