将int [] []转换为String

doo*_*men 0 java

我有一个2d数组,我想将其转换为String示例

我想转换int[][] pString和我使用,toString但它失败了.

int [][] p = new int[9][9];
for(int i = 0;i<9;i++) {
    for(int j = 0;j<9;j++){
        p[i][j] = 1;
    }
}

String str="";
for(int i = 0; i< 9; i++) {
    for(int j = 0; j< 9; j++)
    {
        str+=p[i][j].toString +" ";
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*ner 8

您的代码无法编译,因为:

  1. 您正在尝试在基元上调用方法;
  2. 您在该方法调用上缺少括号.

这个:

str+=p[i][j].toString +" ";
Run Code Online (Sandbox Code Playgroud)

应该

str+=Integer.toString(p[i][j]) +" ";
Run Code Online (Sandbox Code Playgroud)

或者,更容易:

    str+=p[i][j] +" ";
Run Code Online (Sandbox Code Playgroud)

如果你要在循环中构建字符串,你应该避免连接,并使用一个StringBuilder代替:

StringBuilder sb = new StringBuilder();
for(int i = 0; i< 9; i++) {
    for(int j = 0; j< 9; j++)
    {
        sb.append(p[i][j]);
        sb.append(" ");
    }
    // You maybe want sb.append("\n") here, if you want it on separate lines.
}    
String str = sb.toString();
Run Code Online (Sandbox Code Playgroud)

当然,将2D数组转换为字符串的更简单方法是使用:

String str = Arrays.deepToString(p);
Run Code Online (Sandbox Code Playgroud)

但这可能不是你想要的格式.