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.
Voila ce qu'affiche la dernière portion de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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]); } }
Ce qui prouve que les deux mots sont exactement les mêmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 97 97 98 98 97 97 99 99
C'est là que je suis perdu...
Merci d'avance,
Nicolas.
Partager