将int [] []转换为String

时间:2017-04-21 16:08:18

标签: java

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

我想将int[][] p转换为String,我使用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 +" ";
    }
}

1 个答案:

答案 0 :(得分:8)

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

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

    str+=p[i][j].toString +" ";
    

    应该是

    str+=Integer.toString(p[i][j]) +" ";
    

    或者,更容易:

        str+=p[i][j] +" ";
    

    如果要在循环中构建字符串,则应避免连接,而是使用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();
    

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

    String str = Arrays.deepToString(p);
    

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