Concernant l'opérateur ==
D'après ce qui est écrit en page précédente :
Citation :
La spec de java précise que toutes les chaînes littérales représentant la même séquence de caratères sont identiques (l'opérateur == renvoie true).
Pourquoi est-il recommandé d'utiliser equals() et non == pour comparer deux chaînes de caractères ?
machinbidule1974
Do you feel lucky, punk ?
Posté le 14-09-2005 à 20:32:31
Je crois que s1 == s2 uniquement si s1.intern() == s2.intern(), ce qui n'est pas garanti pour toutes les chaînes.
Me trompe-je ?
Taz
bisounours-codeur
Posté le 14-09-2005 à 20:52:12
parce que == ça compare les références, pas les contenus. Apparemment, les chaînes littéralles sont unifiées. Maintenant quand tu compares 2 chaines, tu ne sais pas d'où elles viennent, et ce que tu veux c'est comparer leur contenu. Donc equals()