java 对象的一点小问题

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)}

原文地址:https://www.cnblogs.com/ccgyyn/p/10724369.html