List list = new ArrayList();
for(int i=0;i<1000;i++){
Stu stu = new Stu();
stu.setName("XXX");
list.add(stu);
}
对于这个简单的执行语句,如果把
Stu stu = new Stu(); 写在外面,每次
stu.clear(); 那么list中会有n多重复的值,每个都等于最后一次添加上去的。
list.add(stu)添加的是指针,需要每次new一个新的对象,否则同一个指针自然是重复的值了。