Я был удивлен, увидев, что следующий фрагмент кода Java скомпилирован и запущен:
for(final int i : listOfNumbers) {
System.out.println(i);
}
где listOfNumbers - это массив целых чисел.
Я думал, что окончательные объявления получили только один раз. Является ли компилятор, создающий объект Integer и изменяющим то, что он ссылается?