for-each和for循环

Gia*_*nis 0 java loops

有几次我遇到过for-each循环会导致问题的情况,包括异常和崩溃,而for(it=list.iterator;it.hasNext();)没有任何问题.这包括修改集合(我知道不应该为每个集合发生,但不知道为什么)以及我克隆东西的其他情况.不记得任何具体的例子,我只是想到了它.

for-each只是我指向的第二个循环类型的快捷方式吗?有人可以解释那里的差异究竟是什么?

Pet*_*hev 5

问题是在foreach循环中你remove是一个元素.使用迭代器时,您有一个remove方法.使用时,foreach您无法直接访问底层迭代器,也无法调用其remove方法.

否则它是一样的.Foreach不会导致更多问题或崩溃.你无法删除元素.