问题描述
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的优点是什么?