在 Java 中,数组不会覆盖,所以如果你尝试直接打印一个,你会得到数组的 + ‘@’ + 十六进制,定义如下:toString()
className
hashCode
Object.toString()
int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(intArray); // Prints something like '[I@3343c8b3'
但通常,我们实际上想要更像.最简单的方法是什么?下面是一些示例输入和输出:[1, 2, 3, 4, 5]
// Array of primitives:
int[] intArray = new int[] {1, 2, 3, 4, 5};
// Output: [1, 2, 3, 4, 5]
// Array of object references:
String[] strArray = new String[] {"John", "Mary", "Bob"};
// Output: [John, Mary, Bob]
网友回答:
始终先检查标准库。
import java.util.Arrays;
然后尝试:
System.out.println(Arrays.toString(array));
或者,如果您的数组包含其他数组作为元素:
System.out.println(Arrays.deepToString(array));
网友回答:
从Java 5开始,您可以使用或用于数组中的数组。请注意,版本调用数组中的每个对象。输出甚至以您要求的方式进行装饰。Arrays.toString(arr)
Arrays.deepToString(arr)
Object[]
.toString()
例子:
String[] array = new String[] {"John", "Mary", "Bob"};
System.out.println(Arrays.toString(array));
输出:
[John, Mary, Bob]
String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
// Gives undesired output:
System.out.println(Arrays.toString(deepArray));
// Gives the desired output:
System.out.println(Arrays.deepToString(deepArray));
输出:
[[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922]
[[John, Mary], [Alice, Bob]]
double
数组:double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 };
System.out.println(Arrays.toString(doubleArray));
输出:
[7.0, 9.0, 5.0, 1.0, 3.0 ]
int
数组:int[] intArray = { 7, 9, 5, 1, 3 };
System.out.println(Arrays.toString(intArray));
输出:
[7, 9, 5, 1, 3 ]
网友回答:
很高兴知道,但是,至于“始终首先检查标准库”,我永远不会偶然发现Arrays.toString( myarray )
–因为我专注于 myarray 的类型以了解如何做到这一点。我不想遍历这个东西:我想要一个简单的调用来让它类似于我在 Eclipse 调试器中看到的,而 myarray.toString() 只是没有这样做。
import java.util.Arrays;
.
.
.
System.out.println( Arrays.toString( myarray ) );
模板简介:该模板名称为【在 Java 中,数组不会覆盖直接打印,会得到数组的 + ‘@’ + 十六进制,有没有更简单方法?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。