D'égal à égal et Comparables avec les Jeux

J'ai posté quelques code ici qui correctement résolu un problème que l'affiche avait. L'OP voulait supprimer les doublons et d'apporter certains éléments spéciaux pour la tête de liste. J'ai utilisé un TreeSet avec un spécial Comparable classe qui a enveloppé le Locale ils travaillaient pour obtenir ce qu'ils voulaient.

Puis j'ai réfléchi ... comme vous le faites ... que j'étais en éliminant les doublons en retournant 0 de la compareTo méthode, et non par le retour true à partir d'un equals mise en œuvre que l'on a besoin de faire pour indiquer correctement un doublon dans une Set (à partir de la définition d'un Set).

Je n'ai pas d'objection à l'utilisation de cette technique, mais je suis en utilisant ce qui pourrait être considéré comme un fonctionnalité non documentée? Suis-je sûr de supposer que de faire ce genre de chose à l'avenir continuera à travailler?

Comme M. Nurkiewicz points, c'est spécifiée comportement, c'est sûr. Je suis d'accord que c'est surprenant, tout de même!

OriginalL'auteur OldCurmudgeon | 2012-10-06