ArrayList 的add()

planforlifebo 2007-10-12 09:30:11
我查询数据库得到一个结果集rs,然后将结果集中的记录一个个添加到ArrayList中,可是我后来输出的时候,发现我添加进去的所有记录都是一样的,后来我发现所有ArrayList中的记录是一样的,搞不懂为什么,补充说明一下:原记录每一条都是不同的。
...全文
208 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
imA 2007-10-13
  • 打赏
  • 举报
回复
如9楼所说
yifuzhiming 2007-10-13
  • 打赏
  • 举报
回复
哈哈,我以前也犯过这样的错误
awusoft 2007-10-13
  • 打赏
  • 举报
回复
不用说一定是new在循环外边了嘛

bean = new Bean();

while(rs.next())
{
bean.set....;
list.add(bean);
}
换成下面的



while(rs.next())
{
bean = new Bean();//放到里边来
bean.set....(rs.get....);
list.add(bean);
}

iskyshop 2007-10-13
  • 打赏
  • 举报
回复
if rs.next 
list.add(rs.next)
billysky 2007-10-13
  • 打赏
  • 举报
回复
恩,楼上说得对
guorujian 2007-10-13
  • 打赏
  • 举报
回复
你的NEW是在循环外面吧



及其有可能是这用情况
TYRO729 2007-10-13
  • 打赏
  • 举报
回复
同意3楼的观点
jiangguanghe185 2007-10-13
  • 打赏
  • 举报
回复
没代码,无能为力
palm_civet 2007-10-13
  • 打赏
  • 举报
回复
以前用C++写优先队列的时候也发胜过这样的问题,没有重新分配内存空间
manbaum 2007-10-12
  • 打赏
  • 举报
回复
你的NEW是在循环外面吧。这只是一个可能。
--------
我怀疑这句说对了。
LoveJava520 2007-10-12
  • 打赏
  • 举报
回复
你把代码贴上来啊,这我也试过,你的NEW是在循环外面吧。这只是一个可能。
yangjun210 2007-10-12
  • 打赏
  • 举报
回复
可以用投掷硬币的方法检查你的错误:

正面,你数据库查找错误.
背面,你List操作错误.
竖直,你的电脑有问题,砸了再卖台新的。
alphajin 2007-10-12
  • 打赏
  • 举报
回复
最好能把代码贴出来看看

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧