Java中数组的toString方法是如何实现的?

Java中数组的toString方法是如何实现的?,java,string,tostring,Java,String,Tostring,假设您有一个如下所示的字符串数组: String[] someArray = new String[] {"foo", "bar", "bas"}; 现在,我可以通过这个来获得toString表示: System.out.println(Arrays.toString(someArray)); 但是,一个返回相同字符串表示形式的自定义toString方法如何呢?如果您传递一个自定义对象数组Arrays.toString(),它将调用这些对象上的toString()方法。因此,如果您在对象上实

假设您有一个如下所示的字符串数组:

String[] someArray = new String[] {"foo", "bar", "bas"};
现在,我可以通过这个来获得toString表示:

System.out.println(Arrays.toString(someArray));

但是,一个返回相同字符串表示形式的自定义toString方法如何呢?

如果您传递一个自定义对象数组
Arrays.toString()
,它将调用这些对象上的
toString()
方法。因此,如果您在对象上实现了一个toString方法,
Arrays.toString()
将拾取它

您可以通过搜索java源代码查看
Arrays.toString(Object)
的源代码

我在这里找到了一些:


请在此处阅读toString方法的代码。

您的问题不清楚。你是在问Arrays.toString是如何实现的吗?是的,这基本上就是我想知道的。它不是一个特别难的函数,所以你可以自己尝试实现它。首先考虑它应该打印什么(每个对象的
toString
表示,用逗号分隔,前面有一个开放的括号,后面有一个封闭的括号),然后花一点时间找出如何完成这些部分。如果您想查看实际代码,作为补充,JDK安装目录中有一个名为src的归档文件,其中包含Java源代码。