Przecież tam nie ma zapisu do tablicy. Zapisujesz do osobnej zmiennej, która jest widoczna tylko w for-eachu. Jeśli masz dodatkowe i
poza for-eachem to to wewnętrzne przysłoni ci to zewnętrzne (to dodatkowe).
Zmienna i
jest po prostu lokalną zmienną inicjowaną na kolejne elementy tablicy w kolejnych iteracjach pętli. To co zrobisz z tą zmienną nie wpływa na zawartość tablicy.
for (typ v : tablica) {
// jakiś kod
}
to mniej więcej to samo co:
for (int ukrytyIndeks = 0; ukrytyIndeks < tablica.length; ukrytyIndex++) {
typ v = tablica[ukrytyIndeks];
// jakiś kod
}
Do ukrytego indeksu, jak sama nazwa sugeruje, nie masz dostępu podczas korzystania z for-eacha.