3 回答
TA贡献2036条经验 获得超8个赞
toString()数组的方法返回String描述数组标识而不是其内容的描述。这是因为数组不会覆盖Object.toString(),其文档解释了您所看到的内容:
toString用于类的方法Object返回一个字符串,该字符串由对象是其实例的类的名称,符号字符“ @”以及对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回的字符串等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
要获取String数组内容的表示形式,可以使用Arrays.toString(Object[])。
在String此方法返回由每个元素的的toString()表示,在顺序出现在阵列中并包含在方括号("[]")。相邻元素之间用逗号和空格(", ")分隔。
例如,在您的数组上调用此方法将导致以下结果String:
"[Einstein, , Newton, , Copernicus, , Kepler.]"
请注意,由于数组的元素中String已经包含标点符号和空格,因此会产生双逗号和奇数间距。删除那些:
String [] genius = {"Einstein", "Newton", "Copernicus", "Kepler"};
然后,该方法将返回以下内容String:
"[Einstein, Newton, Copernicus, Kepler]"
请务必注意,使用此方法无法控制结果的格式String。快速检查数组的内容很不错,但仅限于此用途。例如,如果您不希望使用这些方括号,或者不想逐行列出每个元素,该怎么办?
此时,您应该开始看到实现自己的方法以以特定于您的任务的方式输出数组内容的价值。正如其他人所建议的那样,请通过使用for循环并构建String要输出的新结果来进行实践。
您可以for在此Java教程文章中找到有关循环的更多信息。通常,Java入门对于初学者来说是一本好书,应该很好地配合您的课程。
TA贡献2019条经验 获得超9个赞
使用Arrays类为您扩展数组:
System.out.println(Arrays.toString(genius));
会给你
[爱因斯坦,牛顿,哥白尼,开普勒。]
双重逗号是因为您将它们包括在数组中。删除它们,您会得到一个漂亮的逗号分隔列表。
添加回答
举报
