代码改变世界

java 对象的一点小问题

2019-04-17 16:26  CCG波克  阅读(199)  评论(0编辑  收藏  举报

List<A> list = new ArrayList();

A a = new A();

for(int i=0;i<3;i++) {

a.setI(i);

list.add(A);

}

最终list里面的对象集合全是A(i=2)

 

正确的写法是

List<A> list = new ArrayList();

for(int i=0;i<3;i++) {

A a = new A();

a.setI(i);

list.add(A);

}

最终list里面的集合是{A(i=0),A(i=1),A(i=2)}