示例代码:
int a[] = new int[]{0, 1, 2, 3};
int result = 0;
for (int i : a)
result += i;
循环是否保证迭代a[0]
, a[1]
, a[2]
, a[3]
以该顺序?我坚信答案是肯定的,但是这一页 http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html似乎并没有明确地表明秩序。
有可靠的参考吗?
根据JLS,增强型for陈述 http://java.sun.com/docs/books/jls/third_edition/html/statements.html#259170,你的 for 循环相当于
int[] array = a;
for (int index = 0; index < a.length; index++) {
int i = array[index];
result += i;
}
"where array
and index
是编译器生成的标识符,与增强型范围内的任何其他标识符(编译器生成的或其他方式)不同for
语句发生。”(此处稍微解释一下变量名称)。
所以是的:订单绝对有保证。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)