查了很多资料,都说是对List或者set同时操作的问题,可是我这里只是增加啊,为什么也抛java.util.ConcurrentModificationException
List<Cow> cows=new ArrayList<Cow>();
Cow c =new Cow(age);
cows.add(c);
for(Iterator<Cow> it=cows.iterator();it.hasNext();){
Cow c1=(Cow)it.next();
}把它改成下面这个的话,就不抛异常了
List<Cow> cows=new ArrayList<Cow>();
Cow c =new Cow(age);
cows.add(c);
for(int j=0;j<cows.size();j++){
Cow c1=cows.get(j);
}哪位大佬帮忙解释下,为什么会这样
List<Cow> cows=new ArrayList<Cow>();
Cow c =new Cow(age);
cows.add(c);
for(Iterator<Cow> it=cows.iterator();it.hasNext();){
Cow c1=(Cow)it.next();
}把它改成下面这个的话,就不抛异常了
List<Cow> cows=new ArrayList<Cow>();
Cow c =new Cow(age);
cows.add(c);
for(int j=0;j<cows.size();j++){
Cow c1=cows.get(j);
}哪位大佬帮忙解释下,为什么会这样
比如 ListIterator的add和remove
Cow c =new Cow(age);
cows.add(c);
for(Iterator<Cow> it=cows.iterator();it.hasNext();){
Cow c1=(Cow)it.next();
} Cow c1=(Cow)it.next(); 这句有问题了。。Iterator<Cow>表示这个里面的元素都是Cow类型的,就只要直接 Cow cl = it.next()就可以了,不需要转型。。
for(Iterator<Cow> it=cows.iterator();it.hasNext();){
Cow c1=(Cow)it.next();*/
if(c1.getAge()>=bornyear){
cows.add(c1.born());
}
}