我正在尝试用java填充7x6空白2d数组,值为-1。
我通过输入以下内容在非主类中初始化数组:
int[][] anArray = new int[7][6];
然后我创建了一个方法setArray(),如下所示:
public int[][] setArray()
{
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 6 ; j++)
{
anArray[i][j] = -1;
}
}
return anArray;
}
但是当我通过主类运行此方法时,它将板返回为:
[[I@71988d36
有谁知道为什么会这样?我很确定上面的代码是正确的。
编辑:忘掉一对花括号。
答案 0 :(得分:0)
每个在Java中扩展Object的类(即所有类)都继承了这个方法:
public String toString()
当您调用以决定实际打印的内容时调用
System.out.println()
问题是,除非你覆盖它,它将返回一些不太有用的东西将被打印(除了少数情况下,如String,int ....)。
在这种特殊情况下,而不是覆盖它,并且正如上面的注释所解释的那样,调用一个包装函数会更容易,该函数将数组作为参数并提供一个很好的String作为结果。