Comment “final int i” travailler à l'intérieur d'une application Java pour la boucle?

J'ai été surpris de voir que le code Java suivant extrait de code compilé et exécuté:

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

où listOfNumbers est un tableau d'entiers.

Je pensais que les déclarations finales ai attribué qu'une seule fois. Est le compilateur de la création d'un objet Integer et de changer ce qu'il référence?

InformationsquelleAutor Abe | 2010-10-12