Vu:Interface générique pour Comparator Sans avertissements
public interface PrimaryKey<Key extends Comparable> {
Key getKey();
}
et
public class PrimaryKeyComparator implements Comparator<PrimaryKey> {
public int compare(PrimaryKey first, PrimaryKey second) {
return first.getKey().compareTo(second.getKey());
}
}
Cette combinaison fonctionne, mais donne des avertissements sur les types bruts. J'ai essayé différentes manières d'ajouter les arguments de type, mais chaque combinaison que j'ai essayée casse le code.
en utilisant comme générique 'key' des espaces réservés et' TKey' est un moyen très facile de confondre les gens qui lisent votre code. Il y a une raison pour laquelle Java utilise «E», «T», «K» et «V» comme noms d'espaces réservés. – Powerlord
Tout à fait d'accord avec R. Bemrose. 'Key' ressemble au nom d'une classe ou d'une interface. – ColinD