循环问题

List<String> list=new ArrayList<String>();
ResultSet rs = this.selectAllDataFromDB(sql);
int rowIndex = 1; 

while(rs.next()){

  for(int i = 1;i <=tableHeader.length;i++) //tableHeader.length是excel表头上的列名个数
  { 

System.out.println(rs.getString(i));
list.add(rs.getString(i)); 
  } 


createTableRow(list,(short)rowIndex); 

rowIndex++; 



我打印出来是4个值,但是我一添加List里面,他就等于查询出来的行数乘以Excel表头的个数(几次一样的4个值),请问怎么添加到list也是只添加4个值

作者: quanlei1507053   发布时间: 2011-06-14

while()循环了行数那么多次
for()循环了列数那么多次
list.add在for()里面,当然添加了行数乘以列数那么多次

你的问题在于每添加一行后没有清空list
在for()循环之前加一行: 
list=new ArrayList<String>();

作者: alexandertech   发布时间: 2011-06-14

引用 1 楼 alexandertech 的回复:

while()循环了行数那么多次
for()循环了列数那么多次
list.add在for()里面,当然添加了行数乘以列数那么多次

你的问题在于每添加一行后没有清空list
在for()循环之前加一行:
list=new ArrayList<String>();
+1 你的list是声明在while循环外面了,list里面的值就是while的次数* for里面的次数了.

作者: xdrs1314   发布时间: 2011-06-14