为什么';Java标准库是否实现了toString方法?

为什么';Java标准库是否实现了toString方法?,java,Java,Object.toString()JavaDoc说: 返回对象的字符串表示形式。通常,toString方法返回一个“文本表示”此对象的字符串 尽管如此,许多标准java类,如Collections(集合、列表等)可能有非常有用的toString()方法,不必费心实现它。这种愚蠢有什么原因吗 或者,你想要一个十六进制字符串吗?:) 编辑:哎呀,这是我使用IDE的失败。我遵循接口而不是实现,出于某种原因,我直接进入了对象.toString()UPD: 如果你的意思是收集,那么答案是: 这不完全是这样

Object.toString()
JavaDoc说:

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

尽管如此,许多标准java类,如
Collections
(集合、列表等)可能有非常有用的
toString()
方法,不必费心实现它。这种愚蠢有什么原因吗

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

编辑:哎呀,这是我使用IDE的失败。我遵循接口而不是实现,出于某种原因,我直接进入了
对象.toString()
UPD:

如果你的意思是收集,那么答案是: 这不完全是这样。许多
集合
类重写此方法;例如,
AbstractCollection
类,它有自己的
toString
实现-对于所有继承的类都是通用的

如果你的意思是
集合]
,那么这个类有一个私有构造函数,不能被实例化;因此,一个特殊的
toString
方法是毫无意义的。

如果您谈论的是类,它是实用类,那么不必重写toString()方法。通常,对于实用程序类,我们将构造函数设置为私有的,并提供静态方法


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

相关:哪些集合类不实现toString?我认为所有实现它的集合(ArrayList、HashMap、HashSet)都是一个util类,所以我不认为使用toString方法有什么好的理由。如果您的意思是,在Java中,在这种情况下,所有函数都是虚拟的,因此从实现调用的toString在大多数情况下是重写的。Java.util.Collections是不可实例化的,为什么需要重写的toString()呢?Collections是一个实用程序类。有一个toString方法有什么用处?他提到的集合是一个util类,而不是一个接口的集合。@gregory561,恐怕是作者打印错了。在这种情况下,一个问题没有任何意义,因为集合接口没有扩展/实现对象?其中有toString方法。即使这样,也不可能在iterface中实现此方法