C'est surtout qu'en réalité c'est pas du tout la même chose.
Oui, donc par défaut, c'est equals pour les objet. Ceux qui utilisent == pour les objets le font pour de bonnes raisons.
Mais justement, == ne fonctionne pas dans ce cas
Ben si : si == te répond true, tu es sûr que les 2 chaînes sont égales (la chaîne est dans le pool). S'il te répond false, alors il faut vérifier avec equals.
== pourra te donner des faux positifs, mais s'il te dit true, alors tu es sûr du résultat, et ton programme gagne du temps.
Le cas général c'est, lorsqu'on compare des String, de comparer leur valeur. Comparer la référence d'une String j'aimerais bien le voir dans un cadre classique...
Comme je l'ai déjà dit, comparer la référence d'une String est fait par les librairies de parsing XML pour gagner du temps. Mais en général, je suis d'accord, on n'en a pas besoin dans les programmes que l'on peut écrire.
En Java, le cas général, c'est == pour les types de base, et equals pour les objets (tous les objets, y compris les String). Si tu suis cette règle, pas de problème, tu compares bien les String par leur valeur dans tous les cas.
[^] # Re: Les vrais ajouts
Posté par calvin2001 . En réponse au journal Java 7 est dispo !. Évalué à 2.
Oui, donc par défaut, c'est equals pour les objet. Ceux qui utilisent == pour les objets le font pour de bonnes raisons.
Ben si : si == te répond true, tu es sûr que les 2 chaînes sont égales (la chaîne est dans le pool). S'il te répond false, alors il faut vérifier avec equals.
== pourra te donner des faux positifs, mais s'il te dit true, alors tu es sûr du résultat, et ton programme gagne du temps.
Comme je l'ai déjà dit, comparer la référence d'une String est fait par les librairies de parsing XML pour gagner du temps. Mais en général, je suis d'accord, on n'en a pas besoin dans les programmes que l'on peut écrire.
En Java, le cas général, c'est == pour les types de base, et equals pour les objets (tous les objets, y compris les String). Si tu suis cette règle, pas de problème, tu compares bien les String par leur valeur dans tous les cas.