2014-04-14 137 views
-3

这是一个不寻常的问题,我有:我创建了一个尺寸为3X3,没有参数的2d int数组,当我尝试在屏幕上显示它时像这样:[[I @ 49d67b41。有什么建议么?I @ 49d67b41打印时试图打印一个二维数组

public static void main (String[] args) { 
    System.out.println(test2()); 
} 

static int [][] test2() { 
    int [][] l = new int[3][3]; 
    return l; 
} 
+0

你认为它应该打印,为什么? –

回答

3

使用

System.out.println(Arrays.deepToString(test2)); 
+3

没有。您应该在该特定情况下使用'Arrays.deepToString(test2)',因为它是2d数组。否则,它会为每个子数组打印相同的可怕字符串:) – BackSlash

+0

+1在正确的行上。比我的回答好。 – christopher

0

int[][]Object类型的子类。正在调用默认的toString()方法,您会看到对象的十六进制代码。您需要实现自己的方法来打印int[][]类型。

for(int[] values : test2()) { 
    for(int value : values) { 
     System.out.print(int + " "); 
    } 
    System.out.println(); 
}