Java中增强的for循环和迭代器的优点是什么?

问题描述

Stephen Colebourne(Joda- Time,JSR-310等)优点和缺点进行了很好的总结,针对每个循环迭代控制建议进行了增强,以在Java 7中进行扩展:

功能概要:

扩展Java 5 for-each循环,以允许访问循环索引(无论是第一次还是最后一次迭代),并删除当前项。

主要优势

for-each循环几乎可以肯定是Java 5中最流行的功能。 。

针对每项工作的原始Java 5在旨在解决80%案例的许多问题上采取了相对保守的立场。但是,循环是编码中的一种常见形式,因此剩余的20%未被解决代码占了很大一部分。

将循环从转换为基于索引或迭代器的过程是痛苦的。这是因为 如果明显较低, 。这也是很痛苦的,因为大多数IDE不支持这种“重构”。

主要优点:

通用编码习惯用比目前更高的抽象性表示。这有助于 。

综上所述,增强的for循环提供了简洁的高级语法来遍历列表或数组,从而提高了清晰度和可读性。但是,它缺少一些部分:允许访问索引循环或删除项目。

也可以看看

解决方法

谁能告诉我Java +5中Enhanced for loop和Iterators的优点是什么?