Au risque de dire une connerie énorme, mais bon j'suis plus à ca pret: on est d'accord que == teste l'égalité entre pointeurs vu que Integer est un objet, donc le résultat du test dépend de la facon dont la JVM fonctionne.
Donc à mon avis: ta JVM stocke les pointeurs sur les x entiers possibles du type byte (-128 à +127) pour une raison quelconque (optimisation interne ou autre, on peut imaginer que ces nombres-là sont les plus utilisés donc ya des mécanismes spéciaux pour optimiser leur utilisation) mais pas plus que ca pour une autre raison quelconque (par exemple créer tous les entiers possibles ca prendrait de la place pour rien). Et elle utilise ces pointeurs automatiquement quand "toi le programmeur" tu te sers de ces nombres. Bonne chance pour trouver de la doc là-dessus si c'est bien JVM-dépendant.
Maintenant histoire de troller un peu, j'ai envie de dire que je vois pas trop de cas où ca a un intéret de comparer les pointeurs d'objets Integer... Mais du coup c'est intéressant, si tu en as un sous la main, on peut p'tetre en discuter.
Edit:
et en mieux expliqué et plus court... Cela dit j'avais vu juste
---------------
C'était vraiment très intéressant.