Java 从toString()方法返回2d数组

Java 从toString()方法返回2d数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我无法返回字符串2d数组,以便它以表格形式显示。以下是我得到的: 如果我写这段代码,它将在一行上显示数组 public String toString() { return Arrays.deepToString(hidingPlaces); } 如果我写这个,我就没有输出 public String toString() { String aString = ""; for(int row = 0; row < arrayName.length; row

我无法返回字符串2d数组,以便它以表格形式显示。以下是我得到的:

如果我写这段代码,它将在一行上显示数组

   public String toString() {
      return Arrays.deepToString(hidingPlaces);
   }
如果我写这个,我就没有输出

public String toString() {
  String aString = "";
  for(int row = 0; row < arrayName.length; row++) {
     for(int col = 0; col < arrayName[row].length; col++) {
        aString = " " + arrayName[row][col];
     }
  }
  return aString;
}
公共字符串toString(){
字符串aString=“”;
for(int row=0;row
最后一个,当我将数组(每个框)初始化为“”(一个空格)时,我得到0000作为输出,而不是[]。哦,这是一个字符数组顺便说一句。请看看我的问题。提前谢谢。

我想你是说

aString += " " + arrayName[row][col];
实际上,您在每次迭代中都会覆盖字符串。

for(int row=0;rowfor(int row = 0; row < arrayName.length; row++) {
     for(int col = 0; col < arrayName[row].length; col++) {
        aString += " " + arrayName[row][col];
     }
        aString += "\r\n";
  }
对于(int col=0;col
如果在web窗体上显示它,则可以使用

而不是
\r\n

使用stringbuffer或stringbuilder将字符串对象连接到tostring方法中 您的aString会一次又一次地初始化,而无需连接 在此处使用stringbuffer.append,其中aString应该是字符串缓冲区中的str

编辑1

公共字符串toString(){
StringBuffer aString=新的StringBuffer();
for(int row=0;row
您没有连接结果字符串。您说的是arrayName,这是什么意思,arrayName是前面实例化的属性吗?此外,当更新for循环中的字符串时,您缺少+=。您必须一次又一次地为此赋值<代码>aString=“”+arrayName[行][col]我从未学过stringbuffer,所以我认为我做不到。这是一个简单的概念。而且总是有第一次。您应该使用stringbuffer的原因是,您将在堆中创建不必要的对象,因为每个string concat操作都在创建一个新对象,这样做不是一个好的做法@Impalerz尝试以下操作:aString+=“\n”+arrayName[row][col];
public String toString() {
  StringBuffer aString = new StringBuffer();
  for(int row = 0; row < arrayName.length; row++) {
     for(int col = 0; col < arrayName[row].length; col++) {
        aString.append(" " + arrayName[row][col]);
     }
  }
  return aString.toString();
}