我有一个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 +" ";
}
}
答案 0 :(得分:8)
您的代码无法编译,因为:
此:
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);
但这可能不是你想要的格式。