9

Object.toString()JavaDoc 说:

返回对象的字符串表示形式。通常,toString方法返回一个“以文本方式表示”该对象的字符串。

尽管如此,许多标准的 java 类(如Collections(Sets、Lists 等)可能有非常有用的toString()方法,但不必费心去实现它。这种愚蠢有原因吗?

或者,嘿,你想要一个十六进制字符串吗?:)

编辑:糟糕,这是我使用 IDE 的失败。我遵循了接口而不是实现,并且出于某种原因直接将我带到了Object.toString().

4

2 回答 2

6

升级版:

如果您的意思是Collection课程,那么答案将是:这不完全是这样。许多Collection类覆盖了这个方法;例如,AbstractCollection类,它有自己的toString实现——对于所有继承的类都是通用的。

如果你的意思是Collection[s],那么这个类有一个私有构造函数并且不能被实例化;所以特殊的toString方法是没有意义的。

于 2012-12-19T08:30:14.987 回答
2

如果您在谈论Collections类,它是实用程序类,则不必重写 toString() 方法。通常在实用程序类的情况下,我们将构造函数设为私有并提供静态方法。

还要检查你不能创建 Collections 类的对象,因为它的构造函数是私有的。检查java.util.Collections 来源,第 56 行

于 2012-12-19T08:30:40.863 回答