让我们保持简单。我已经尝试了很多个小时而无法找到解决方案。
我正在从MySQL数据库中检索以下数据。数据库采用当前格式。
std::vector<std::shared_ptr<Shape>> vec1;
DoTheThing(vec1); // success
std::vector<Wrapper<Shape>> vec2;
//DoTheThing(vec2); // error
std::vector<std::shared_ptr<int>> vec3;
//DoTheThing(vec3); // error
std::list<std::shared_ptr<Shape>> vec4;
DoTheThing(vec4); // success
我有以下代码来检索它(工作正常):
|number1|number2|number3|number4|number5|
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 |
然而,当返回数组时,我希望它采用以下格式(例如,在正确的位置使用逗号和大括号,以便我可以解析这个2d数组(直接使用变量“array”并使用它直接用其他对象做请求时。)
int[][] array = new int[5][5];
int i = 0;
while(result.next()) {
array[i][0] = result.getInt(1);
array[i][1] = result.getInt(2);
array[i][2] = result.getInt(3);
array[i][3] = result.getInt(4);
array[i][4] = result.getInt(5);
for(int j=0;j<5;j++){
System.out.print(array[i][j]);
}
i++;
}
编辑:更清楚: 假设我有另一个名为secondaryArray [] []的变量。我想将从数据库中检索到的数组分配给secondaryArray,但是在当前格式中,它不会让我,因为内容不是矩阵格式。
感谢您的时间和帮助!非常感谢
答案 0 :(得分:0)
您可以通过 将数组中的新内容添加到secondaryArray &#39;
复制多维数组的代码:
int[][] secondaryArray = new int[array.length][]; // Creates the amount row in array
for (int i = 0; i < array.length; i++)
{
secondaryArray[i] = new int[array[i].length]; // Creates the columns in array
for (int j = 0; j < array[i].length; j++)
secondaryArray[i][j] = array[i][j];
}
我相信它适用于粗糙和非碎片阵列
这是他们打印出来的方式(只读整数)
0101010101010101010101010