Как «final int i» работает внутри цикла for Java?

Я был удивлен, увидев, что следующий фрагмент кода Java скомпилирован и запущен:

for(final int i : listOfNumbers) {
     System.out.println(i);
}

где listOfNumbers - это массив целых чисел.

Я думал, что окончательные объявления назначаются только один раз. Создает ли компилятор объект Integer и изменяет ли то, на что он ссылается?

60
задан Abe 12 October 2010 в 01:50
поделиться