Problème de format, equals ne marche pas !
Bonjour :)
Je dois rendre un travail pour 16h, aujourd'hui. L'application à développer en Java est un correcteur orthographique très basique (en Anglais). Le dictionnaire est un fichier .dat qui contient plus de 100 000 mots.
Tous ces mots sont insérés dans une ArrayList, de ce côté là il n'y a pas de problème.
Néanmoins, lorsque je veux tester l'existance d'un mot dans cette liste, cela ne fonctionne pas. J'ai bien redéfini la méthode equals(Object o) de ma classe Word qui modélise un mot du dictionnaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
String w = dico.dictionary.get(10).getWord();
boolean b = dico.dictionary.contains(new Word(w));
System.out.println(b); // RETOURNE TRUE
String a = "abac";
boolean c = dico.dictionary.contains(new Word(a));
System.out.println(c); // RETOURNE FALSE
if(a == w) {
System.out.println("Oops !");
} else {
char[] wC = w.toCharArray();
char[] aC = a.toCharArray();
for(int i = 0; i < wC.length; i++) {
System.out.println((byte)wC[i] + " " + (byte)aC[i]);
}
} |
Voila ce qu'affiche la dernière portion de code :
Code:
1 2 3 4 5
|
97 97
98 98
97 97
99 99 |
Ce qui prouve que les deux mots sont exactement les mêmes.
C'est là que je suis perdu... :x
Merci d'avance,
Nicolas.