这两个结构是否相同?
char[] arr = new char[5];
for (char x : arr) {
// code goes here
}
Run Code Online (Sandbox Code Playgroud)
相比:
char[] arr = new char[5];
for (int i = 0; i < arr.length; i++) {
char x = arr[i];
// code goes here
}
Run Code Online (Sandbox Code Playgroud)
也就是说,如果我在两个循环的主体中放置完全相同的代码(并且它们编译),它们的行为是否完全相同?
完全免责声明:这是受另一个问题的启发(Java:这两个代码是相同的).我的答案结果不是答案,但我觉得Java for-each的确切语义有一些细微差别需要指出.