我想知道Java +5中增强的for循环和迭代器有什么优点?
Stephen Colebourne 很好地总结了优点和缺点(Joda-Time、JSR-310 等)增强了对每个循环迭代的控制在 Java 7 中扩展它的建议:
特点总结:
扩展了 Java 5 for-each 循环以允许访问
循环索引,是否是第一个
或最后一次迭代,并删除
当前项目。
主要优势
for-each 循环几乎肯定是最新的
Java 5 中的流行功能。有用
因为它增加了抽象性
水平——而不是必须表达
如何循环的底层细节
围绕列表或数组(带有索引
或迭代器),开发人员只需
声明他们想要循环并且
语言会处理剩下的事情。
然而,所有的好处都消失了
当开发者需要访问时
索引或删除项目.
每项工作的原始 Java 5 都采用了
采取相对保守的立场
旨在解决的问题数量
80%的情况。然而,循环是这样的
编码中的常见形式是
剩余 20% 未解决
代表重要的代码体。
循环转换的过程
从每个要索引返回或
基于迭代器是痛苦的。这是
因为旧的循环样式如果
显着降低水平,更多的是
冗长且不太清楚。也是
很痛苦,因为大多数 IDE 不支持
这种“去重构”。
主要好处:
常见的编码习惯表示为
比现在更高的抽象。
这有助于可读性和清晰度.
...
总而言之,增强的 for 循环提供了一种简洁的高级语法来循环列表或数组,从而提高了清晰度和可读性。但是,它遗漏了一些部分:允许访问索引循环或删除项目。
See also
- Java 7 - For-each 循环控制访问
- 斯蒂芬·科尔伯恩的原始文章
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)