【发布时间】:2011-02-22 16:16:12
【问题描述】:
可能的重复:
What are the original reasons for ToString() in Java and .NET?
when to use toString() method
toString()在java中的主要用途是什么
【问题讨论】:
标签: java
可能的重复:
What are the original reasons for ToString() in Java and .NET?
when to use toString() method
toString()在java中的主要用途是什么
【问题讨论】:
标签: java
简而言之,您提出了类的字符串表示形式,因此您将在日志中或在调试时看到有意义的值,而不是默认的 YourClass@38c313。这种表示是完全任意的。
有关详细信息,请查看Effective Java 中的第 10 项,它有一些非常好的建议。
【讨论】:
补充一下,有时将一些对象转换为文本表示,然后定义一个构造函数,该构造函数可以从该文本表示中创建一个对象,例如
public Foo(String textualRep) {
}
我在 JDK 中的某个地方看到过这种方法,但不记得在哪里。
【讨论】:
正如javadoc 所说:
返回对象的字符串表示形式。通常,toString 方法返回一个“以文本方式表示”该对象的字符串。结果应该是一个简洁但信息丰富的表示,易于人们阅读。建议所有子类重写此方法。
您可以将其用于:
等等
但是,建议您仅将其用于内部目的,例如日志记录和调试。
【讨论】:
buildString() 而不是toString()
toString() 的主要用途是允许打印或记录任意对象。
【讨论】: