Lors de l'utilisation de Comparables et Comparateur

J'ai une liste d'objets, j'ai besoin de trier sur un champ, de dire Score. Sans donner beaucoup de pensée, j'ai écrit une nouvelle classe qui implémente Comparateur, qui ne la tâche et il fonctionne.

Maintenant, en regardant en arrière à ce niveau, je me demande si je devrais avoir la place que le ma classe implémente Comparable au lieu de créer une nouvelle classe qui implémente Comparateur. Le score est le seul champ que les objets seront commandés sur.

  1. Ce que j'ai fait acceptable en tant que pratique?

  2. Est la bonne approche "d'Abord la classe implémente Comparable (de l'ordre naturel) et si un autre champ de comparaison est nécessaire, puis de créer une nouvelle classe qui implémente Comparateur" ?

  3. Si (2) ci-dessus est vrai, alors ça veut dire que l'on doit mettre en œuvre Comparateur seulement après qu'ils ont la classe implémente Comparable? (En supposant que je possède de la classe d'origine).

InformationsquelleAutor pkrish | 2010-02-15