title: Java Enhanced For Loop - Editing Original Array Values
body: <p>I'd like to know, in detail, how the Enhanced For Loop works in Java (assuming i do get how the basic usage of this loop is and how it works in general). </p>
  
  <p>Given the following code:</p>
  
  <pre><code>String[] a = {"dog", "cat", "turtle"};
  
  for (String s : a) {
    out.println("String: " + s);
    s = in.readLine("New String? ");
  }
  </code></pre>
  
  <p>It doesn't actually modify the original list 'a'.
  Why not? How memory Management works? Isn't 's' a reference to the same memory cell of 'a[i]'?  </p>
  
  <p>I read on the oracle documentation that enhanced for loops can't be used to remove elements from the original array, it makes sense. Is it the same for modifying values?  </p>
  
  <p>Thanks in advance</p>