Bonjour,

Dans ce morceau de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
        Integer a = 0;
        Integer b = 0;
        while (a == b) {
            System.out.println("a=" + a + ", b=" + b + "\t" + (a == b) + "\t" + (a.equals(b)));
            a++;
            b++;
        }
        System.out.println("a=" + a + ", b=" + b + "\t" + (a == b) + "\t" + (a.equals(b)));
Je sais pertinemment qu'il faut exclusivement utiliser le .equals() sur des types de variables non primitives mais pourtant, ca m'arrive encore d'utiliser par erreur ce canonique ==

Ce qui m’énerve le plus, c'est que ce morceau de code va fonctionner jusqu'à la 128ème itération de la boucle, et ce sans erreurs, sans warnings aucun, puis ne plus fonctionner à la 129ème !

S'il ne faut pas utiliser le == sur autre chose que des primitifs, pourquoi mon IDE (NetBeans en l’occurrence) n'est pas capable de me le rappeler ?

Une idée du pourquoi et du comment ?

Merci d'avance.