java 中list中后面的对象覆盖前面的对象

List<Student>list=newArrayList<Student>();for(inti=0;i<2;i++){Studentstu=newStudent()... List<Student> list = new ArrayList<Student>();
for (int i = 0; i < 2; i++) {
Student stu= new Student();
stu= manager.getById("0001");//从数据库中查询
stu.setCount(i);
list.add(stu);
}
for (Student stu : list) {
System.out.println(stu.getCount());
}
打印:1,1。后面添加的一个对象覆盖前面一个对象
@Autowired
private StuManager stuManager;

public void getInfo(){
List<Student> list = new ArrayList<Student>();
for (int i = 0; i < 2; i++) {
Student stu= new Student();
stu= stuManager.getById("O001");
stu.setCount(i);
list.add(stu);
}
for (Student stu : list) {
System.out.println(stu.getCount());
}
}
打印:0,1。后面添加的一个对象覆盖前面一个对象
展开
 我来答
As建
2012-11-13 · TA获得超过192个赞
知道答主
回答量:64
采纳率:0%
帮助的人:47.7万
展开全部
新建对象,不可能覆盖啊,第二次执行不是0,1了吗,这不就没有覆盖了吗。
出现第一次的情况可能是你把Student类的count属性设置成static了,这样你改变一次count,所有Student实例对象的count值都变成一样的了。
匿名用户
2012-11-13
展开全部
你的student 类也要贴出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kejian121
2012-11-13 · 超过33用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:64.4万
展开全部
未指定数组长度的缘故吧..
追问
代码贴出来了
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duzc2
2012-11-13 · TA获得超过2512个赞
知道大有可为答主
回答量:1987
采纳率:50%
帮助的人:2072万
展开全部
你用LinkedHashMap
就能保证唯一,且有序了
追问
我每个Student对象都是新建的,为什么list中后面的对象还会覆盖前面的对象呢?
追答
stu= manager.getById("0001");

每次返回来的是同一个对象啊
你setCount(2)的时候就变了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式