为何我遍利ArrayList里面的值都是一样的?
来源:百度知道 编辑:UC知道 时间:2024/07/04 09:34:39
public ArrayList<Admin> getAdminAll() {
ArrayList<Admin> ay = new ArrayList<Admin>();
try {
int i = 0;
ps = cn.prepareStatement("SELECT username, password, createtime, control FROM admin");
rs = ps.executeQuery();
while(rs.next()) {
admin.setUsername(rs.getString(1));
admin.setPassword(rs.getString(2));
admin.setCreatedate(rs.getString(3));
admin.setControl(rs.getInt(4));
ay.add(i,admin);
i++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ay;
}
我从数据库中得到ArrayList然后用以下的方法取出后全是一样的内容。
ArrayList al = getAdminAll();
Iterator it = al.iterator();
Admin ad;
while(it.hasNext()) {
ad=(Admin)it.next();
System.out.println("username = "+ad.getUsername());
}
ArrayList<Admin> ay = new ArrayList<Admin>();
try {
int i = 0;
ps = cn.prepareStatement("SELECT username, password, createtime, control FROM admin");
rs = ps.executeQuery();
while(rs.next()) {
admin.setUsername(rs.getString(1));
admin.setPassword(rs.getString(2));
admin.setCreatedate(rs.getString(3));
admin.setControl(rs.getInt(4));
ay.add(i,admin);
i++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ay;
}
我从数据库中得到ArrayList然后用以下的方法取出后全是一样的内容。
ArrayList al = getAdminAll();
Iterator it = al.iterator();
Admin ad;
while(it.hasNext()) {
ad=(Admin)it.next();
System.out.println("username = "+ad.getUsername());
}
while(rs.next()) {
admin.setUsername(rs.getString(1));
admin.setPassword(rs.getString(2));
admin.setCreatedate(rs.getString(3));
admin.setControl(rs.getInt(4));
ay.add(i,admin);
i++;
}
java的对象是引用形式的,你这样做加的都是同一个对象,最后肯定是都是最后一条记录的内容
因为先添加进去的对象也补你改变了
解决方法:
while(rs.next()) {
admin=new Admin();
admin.setUsername(rs.getString(1));
admin.setPassword(rs.getString(2));
admin.setCreatedate(rs.getString(3));
admin.setControl(rs.getInt(4));
ay.add(i,admin);
i++;
}
为何我遍利ArrayList里面的值都是一样的?
为何我的XP 开机时那个进度条要走好几遍
在java里怎么把hashmap转换成arraylist和iterator
如何把一个二维的ArrayList对象集合ADD到ListBox里
为何我的网际快车下载软件,文件下载百分之百后,又重新从零开始下载.每次都是两遍?
我朋友在游戏里结婚了,谁能帮我遍几个祝福此。
为什么我的千千静听里的歌一句词重复好几遍才往下唱?
为什么我QQ空间里的验证码总是不能看 刷新很多遍都没有用
今天在学校里,班主任(英语老师)叫我抄100遍比基尼,这合理吗?
帮我讲解一下ArrayList、Vector、HashMap、HashTable、Set。请用精辟的语言