Archives mensuelles : février 2014

Puzzle sur le final++

Vous connaissez le mot-clé « final » en Java ? Si je n’est pas le cas, je vous renvoie vers un petit mémento des mots-clés du langage Java.

1
final int i = 0;

Vous connaissez la post incrémentation qui s’écrit à l’aide de deux signes plus.

1
i++;

Mais que se passe-t-il lorsqu’on cumule les deux ? C’est le puzzle de la semaine. Que fait le code suivant ?

1
2
3
4
final int i = 0;
i++;
i++;
System.out.println(i);

Je vous propose plusieurs solutions. Essayez de trouver la bonne sans tricher (sans le tester dans Eclipse). Ici, il faut non seulement avoir la bonne réponse mais aussi la bonne explication.

1) Ça ne compile pas ;
2) Ça écrit 0 (zéro) ;
3) Ça écrit 1 ;
4) Ça écrit 2 ;
5) Ça lance une RuntimeException (RE) ;
6) Ça fait autre chose, à préciser.

Exprimez-vous dans les commentaires…