Bonjour,
J'ai une question au sujet de equals().
J'ai une strukture de donnée qui implémente l'interface Comparable, par exemple une liste ou un arbre que j'implémente.(c'est un exercice :-) )
J'ai une métode trouver(E obj) qui me renvoie un élément de la liste si celui-ci se trouve déjá dans la liste, null sinon.
Nous travaillons avec des objets Mot (avec entre autre un attribut String leMot) Mon binôme a utilisé CompareTo pour trouver si le mot est déjà dans la structure, mais j'estime que c'est faux parce que CompareTo s'utlise pour ordonner des mots entre eux. Je pense que nous devons utiliser equals parce que le sens de equals est de savoir si les deux objets sont équivalents (et nous voulant avoir juste une instance de chaque mot dans la liste). Le resultats étant le même vu que les mots sont ordonnés alphabétiquement.
Ma question est donc est il juste de dire que CompareTo et equals n'ont pas le même "sens"? De plus est-il juste d'implémenter une métode pour remplir un rôle, plutôt que juste pour obtenir un résultat (comme ici où equals et compareTo font la même chose, c'est à dire comparer "leMot")?
Voilà en espérant avoir été clair, et que quelqu'un peut m'éclairer :-)
--
Dom
Partager