Bonjour,
Dans ce morceau de code :
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 ==
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)));
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.
Partager