title: Java for( x : y) execution
body: <p>I have the following for loop:</p>
  
  <pre><code>for(String s : someString.split("\\s+")){
     //do something
  }
  </code></pre>
  
  <p>Does java execute the split() method each time the loop iterates, or does it do it only once and keep a temp array to iterate on?</p>