JAVA中List的Add方法问题

在List中使用Add方法时出问题,用String[]时以前的数据会被覆盖。代码如下:
public List testAdd(String[] params)
{
List list = new ArrayList();
for(int i=0;i<10;i++)
{
dataDAO mydao = new dataDAO();
params[0] = "test0"+i;
params[1] = "test1"+i;
//赋值后测试数据,正常
mydao.setParams(params);
//在这里测试数据也正常
list.add(mydao);
}
return list;
//在这里如果循环打印出数据,则所有10条数据是同一个结果
Iterator it = list.Iterator();
while(it.hasNext())
{
dataDAO mydao = (dataDAO)it.next;
String[] result = mydao.getParams();
System.out.println(result[0]+";"+result[1]);
}
}

输出结果为:
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19
test09;test19

如果把字符组换成字符串再试一次本程序,输出结果正常。求解?如何解决?回答好了再送分
不好意思,输出那里少写了一个for循环,各位见谅,不影响问题

不明白你为什么这些写
for(int i=0;i<10;i++)
{
//params需要重新声明,重新赋予指针
params = new string[];

dataDAO mydao = new dataDAO();
params[0] = "test0"+i;
params[1] = "test1"+i;
//赋值后测试数据,正常
mydao.setParams(params);
//在这里测试数据也正常
list.add(mydao);
}

个人建议,你通过调用testAdd方法对list序列赋值,否则
params[0] = "test0"+i;
params[1] = "test1"+i;
这段语句无意义~
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答