一.遍历list造成的死循环
源码:List<Student> students = new ArrayLIst<>();(list里面有三个对象值)
for(int I=0;i<students.size();I++){
Student student = students.get(I);
if(I==2){
student.setName(“张三");
students.add(student);
}
}
问题:造成死循环,studens.size()会一直增加
原因:每次循环后,又添加了这个对象到数组中,增加了数组的长度,而且list里面是允许存储先通过对象的。进而导致了一list的增加,造成了死循环。其实添加对象属性就可以了,对象本身还在list里面的。
解决:
List<Student> students = new ArrayLIst<>();(list里面有三个对象值)
for(int I=0;i<students.size();I++){
Student student = students.get(I);
if(I==2){
student.setName(“张三");
//students.add(student); 去调这段代码
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载