Java для каждого против обычного для - они эквивалентны?
Эти две конструкции эквивалентны?
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: эти 2 кода одинаковы). Мой ответ там оказался не таким, но я чувствую, что точная семантика Java для каждого имеет некоторые нюансы, на которые нужно обратить внимание.