每个循环如何防止空列表?
我在http://www.leepoint.net/notes-java/flow/loops/foreach.html上阅读。 每个相当于
for (int i = 0; i < arr.length; i++) { type var = arr[i]; body-of-loop }
是
for (type var : arr) { body-of-loop }
我的问题是每个循环如何为空列表工作。 我知道对于常规for循环,arr.length将仅计算为0并且循环不会执行。 每个循环怎么样?
我的问题是每个循环如何为空列表工作
ForEach
也以同样的方式工作。 如果长度为零,则永远不会执行循环。
它们之间的唯一区别是当您想要迭代列表或数组的所有项时使用ForEach
循环,而在正常for
循环的情况下,您可以控制开始和结束索引。
它使用Iterable集合的迭代器,例如List。 Iterator的实现者有责任编写hasnext()方法,如果没有下一个项目则返回false,如果该集合为空则
是的,它是等价的。
如果列表为空,则for-each循环甚至不执行一次。