增强for循环(foreach)的坑

增强for循环(foreach)的坑

使用foreach时,出现了ConcurrentModificationException

然后就去搜了搜,直接看吧

这里说是增强for循环的坑,其实主要是因为有些人不了解增强for循环的实现原理而可能踩入的坑。

既然增强for循环通过迭代器实现,那么必然有迭代器的特性。

Java中有fail-fast机制。在使用迭代器遍历元素的时候,在对集合进行删除的时候一定要注意,使用不当有可能发生ConcurrentModificationException,这是一种运行时异常,编译期并不会发生。只有在程序真正运行时才会爆发。

如以下代码:

for (Student stu : students) { 
 if (stu.getId() == 2) 
 students.remove(stu); 
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 增强for循环(foreach)的坑