读书人

第一次发贴,大家好,问个list的有关问题

发布时间: 2012-02-07 17:45:37 作者: rapoo

第一次发贴,大家好,问个list的问题
我的数据库只有一个字段username 里面的值为1 2 3 4 5 6 7 8
但是为什么我用list保存 输出的却是 8 8 8 8 8 8 8 8 呢 求解 =。=

package dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class Cha{

public List cha()
{
List<Userbean> list=new ArrayList<Userbean>();
Connection conn=null;
Statement stmt=null;
String sqlstr;
ResultSet rs=null;
DB db=new DB();
Userbean user=new Userbean();
conn=db.getConn();
try{
stmt = conn.createStatement();
sqlstr = "select * from test";
rs=stmt.executeQuery(sqlstr);
while(rs.next())
{
user.setUsername(rs.getString(1));
list.add(user);
}
}
catch(SQLException e2)
{
System.out.println("数据库存在异常!查操作时出现错误");
System.out.println(e2.toString());
}
finally
{
try
{
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(conn!= null) conn.close();
}
catch(SQLException e)
{
System.out.println("数据库存在异常!查操作时出现错误");
}
}
return list;
}
}

[解决办法]
while(rs.next())
{
UserBean user = new UserBean();
user.setUsername(rs.getString(1));
list.add(user);
}

你不new的话,user都是指向一个实例。
[解决办法]

Java code
Userbean user=new Userbean();conn=db.getConn();try{stmt = conn.createStatement();sqlstr = "select * from test";  rs=stmt.executeQuery(sqlstr);  while(rs.next())  {     user.setUsername(rs.getString(1));  list.add(user);  }
[解决办法]
楼上说的很对 把Userbean user=new Userbean();

while(rs.next())
{
user.setUsername(rs.getString(1));
list.add(user);
}
放在while语句中 自己好好理解下吧 看下list的API

读书人网 >Java Web开发

热点推荐