java中集合在迭代中的类似以下容易忽略的小问题汇总,大家都来补充吧!!!!
我先说两个:
/////////////////////////情况一//////////////////////////
String str="abcdef";
for(int i=str.length;i>0;i--){
str=str.substring(0,2);
i=str.length;//此时的str.length是6而不是2
}
////////////////////////情况二///////////////////////////////
List list=new ArrayList();
list.add(1);
list.add(2);
list.add(3);
for(Iterator it=list.iterator();it.hasNext();){
System.out.println(it.next());
it.remove();
//list.remove(1);这里不能用集合的remove方法移除,
//否则会出现Exception in thread "main" java.lang.IllegalStateException
}
大家分享,共同进步。 |