c'est t'y pas joli :)
et faut se farcir la norme pour le voir la blague.
- java 5 powa !!! -
Pour les néophytes, c'est un problème d'auto boxing/unboxing avec valeur mutualisé entre -128 / +127 si je me souviens bien.
Quand on force les new Integer, les références sont différente
calcul, 127 - valeur mutualisé, les référence pointent au même endroit.
re calcul
> 127, référence non mutualisés.
Et ça c'est quand même sacrément gênant, on fait les tests sur une 100 aine de valeurs, à la main on vérifie (c'est déjà bien), on passe en prod, paf ça plante.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Comparaison de chaine
Posté par fearan . En réponse au message portée des méthodes. Évalué à 2.
Integer a= new Iteger(126);
Integer b= new Iteger(126);
System.out.println(a==b ) ; // false
a++;
b++;
System.out.println(a==b ); // true
a++;
b++;
System.out.println(a==b ); // false
c'est t'y pas joli :)
et faut se farcir la norme pour le voir la blague.
- java 5 powa !!! -
Pour les néophytes, c'est un problème d'auto boxing/unboxing avec valeur mutualisé entre -128 / +127 si je me souviens bien.
Quand on force les new Integer, les références sont différente
calcul, 127 - valeur mutualisé, les référence pointent au même endroit.
re calcul
> 127, référence non mutualisés.
Et ça c'est quand même sacrément gênant, on fait les tests sur une 100 aine de valeurs, à la main on vérifie (c'est déjà bien), on passe en prod, paf ça plante.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent