【发布时间】:2011-01-26 05:35:27
【问题描述】:
这两个结构是否等价?
char[] arr = new char[5];
for (char x : arr) {
// code goes here
}
相比:
char[] arr = new char[5];
for (int i = 0; i < arr.length; i++) {
char x = arr[i];
// code goes here
}
也就是说,如果我将完全相同的代码放在两个循环的主体中(并且它们编译),它们的行为会完全相同吗???
完全免责声明:这是受到另一个问题 (Java: are these 2 codes the same) 的启发。我的答案原来不是答案,但我觉得 Java for-each 的确切语义有一些细微差别需要指出。
【问题讨论】:
标签: java loops foreach syntactic-sugar