拡張for文の処理流れ、及び一時変数がfinalである場合の考え方
Q&A
Closed
解決したいこと
拡張for文において、今までの自分の理解では配列が順番に一時変数に代入されていくという感じで、下記のように
int[] ary = {10, 20, 30};
for(final int tmp : ary){
System.out.println(tmp);
}
と記述し、一時変数を定数とした場合、コンパイルエラーになるかと考えましたが、エラーにはなりません。
考えたこと・調べたこと
拡張for文の場合は通常のfor文とは異なり、Iteratorインタフェースが呼ばれて、メソッドの戻り値として値を受け取るのでエラーにはならないということでしょうか。
知りたいこと
より理解を深めたいため、拡張for文の開始から実行されインタフェースやメソッドの呼び出し順序が知りたいです。