我最近在java中启动了mutltidimensional int数组。在那之前,一维阵列已经足够了。
要打印我使用过的System.out.println(Arrays.toString(myarray));
但它不能用于多维数组,它与你尝试直接打印一维数组时的效果相同。
答案 0 :(得分:10)
你需要迭代它。
最简单的方法是使用提供的Arrays.deepToString()
来搜索数组中的数组。请注意,它与Arrays.toString()一样,仅在Java 1.5+中可用,但我当然希望您现在使用Java 5。
例如:
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 } };
System.out.println(Arrays.deepToString(myArray));
或者,您可以自己迭代,这也允许使用您选择打印的样式进行更多自定义。
例如:
int[][] myArray = { { 1, 2, 3 }, { 4, 5, 6 } };
for(int[] arr : myArray)
System.out.println(Arrays.toString(arr));
答案 1 :(得分:1)
尝试类似:
int number[][] = { {1, 2, 3}, {1}, {2}};
for (int i = 0; i < number.length; i++)
System.out.println(Arrays.toString(number[i]));
答案 2 :(得分:1)
尝试使用Commons Lang 3的ArrayUtils toString方法:
@Test
public void multiArrayToString(){
int[] a = {1,2,3};
int[] b = {4,5,6};
int[][] c = {a, b};
String aCommonsLangToString = ArrayUtils.toString(a);
String bCommonsLangToString = ArrayUtils.toString(b);
String cCommonsLangToString = ArrayUtils.toString(c);
System.out.println(aCommonsLangToString);
System.out.println(bCommonsLangToString);
System.out.println(cCommonsLangToString);
}
输出:
{1,2,3}
{4,5,6}
{{1,2,3},{4,5,6}}
答案 3 :(得分:1)
你可以像这样轻松地遍历数组:
if (yourArray != null) {
// Where object type means the type of your array.
for (ObjectType subArray : yourArray) {
// If this method can't receive nulls, then validate that subArray isn't null
System.out.println(Arrays.toString(subArray));
}
}