我有一个包含对象的arrayList。每个对象包含许多字符串。我正在尝试获取这些字符串并将它们添加到二维数组中。
public void iterateRow(Row row)
{
int x = 0;
int y = size();
tableArray = new String[y][5];
while(x < y){
int z = 0;
for (String s: row.rowString()){
tableArray[x][z] = s;
z++;
}
x++;
}
}
每当我运行并为行类创建一个新实例时,该方法应该将包含在 Row 中的字符串添加到数组中。但是,它将最新条目复制 x 次(其中 x 是条目总数)。
这是 Row 类以供进一步参考:
public class Row
{
public String appNumber;
public String name;
public String date;
public String fileLoc;
public String country;
public String elementString;
public String results[];
public Row(String appNumber, String name, String date, String fileLoc, String country, Table table)
{
this.appNumber = appNumber;
this.name = name;
this.date = date;
this.fileLoc = fileLoc;
this.country = country;
table.addApplicant(this);
}
public String[] rowString()
{
String[] a = {appNumber, name, date, fileLoc, country};
return a;
}}
我认为在 iterateRow() 方法中这是一个愚蠢的逻辑错误,但我似乎无法弄清楚是什么。任何帮助,将不胜感激。
编辑:在大家的帮助下,我删除了 while 循环。然而,它似乎仍然是复制行而不是移动到下一个?
public void iterateRow(Row row)
{ int x = 0;
int y = size();
tableArray = new String[y][row.rowString().length];
for(int i =0; i<y;i++){
int z = 0;
for (String s: row.rowString()){
tableArray[x][z] = s;
z++;
}x++;}
}