关于Java中的Arrays.toString()的问题

为什么当Arrays.toString()用在没有类的main方法中可以直接将数组转换成字符串,而在有用到类的main方法中直接使用会生成哈希code,需要覆盖之后才能
将数组转换成字符串?求大神解答 谢谢!
最新回答
萌傻

2024-11-24 10:44:16

不会吧。
Arrays.toString(array) 和 array.toString()不同。后面输出的 类名@hashcode,前面的输出的是[array1,array2.......]
追问
不是的  都是Arrays.toString(array), 只是在没有类的情况下可以直接转换,在有类的情况下需要在类中先覆盖toString方法才行。
追答
数组元素的类型也要重写toString,本来就是这样
追问
那为什么不需要覆盖object类的toString方法,而在有类的情况下需要覆盖object类的toString方法?
追答
就是子类重写这个方法。
Arrays.toString方法会调用数组每一项的toString方法
离人乱他心

2024-11-24 09:45:02

问题是啥呢?