Chciałbym wiedzieć szczegółowo, jak działa Enhanced For Loop w Javie (zakładając, że rozumiem, jak podstawowe jest użycie tej pętli i jak to działa w ogóle) .Java Enhanced For Loop - Edycja Oryginalnych Wartości Array
Biorąc pod uwagę następujący kod:
String[] a = {"dog", "cat", "turtle"};
for (String s : a) {
out.println("String: " + s);
s = in.readLine("New String? ");
}
To faktycznie nie modyfikowania oryginalnego listy 'a'. Dlaczego nie? Jak działa zarządzanie pamięcią? Czy nie jest "odniesieniem" do tej samej komórki pamięci "a [i]"?
Przeczytałem w dokumentacji Oracle, że rozszerzone na pętle nie mogą być używane do usuwania elementów z oryginalnej tablicy, ma to sens. Czy to samo dotyczy modyfikowania wartości?
góry dzięki
Ciąg jest niezmienny. Http://stackoverflow.com/a/8798424/112500 – Shashi
's' jest zmienną zawierającą odniesienie do elementu kontenera. –