Bonjour,
J'ai un problème avec une classe generique qui implémente l'interface comparable.
J'ai trouvé une solution, mais il y a des warning qui s'affichent :
j'ai gardé que le code utile.
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
20
21
22
23
24
25
26 @SuppressWarnings("rawtypes") public abstract class AbstractSommet<T extends Comparable> implements Comparable{ T sommet; private int dateDebut; /** * @return the sommet */ protected T getSommet() { return sommet; } @SuppressWarnings("unchecked") @Override public int compareTo(Object o) { AbstractSommet<?> c = ( AbstractSommet<?>) o; if(this.dateFin < c.dateFin) return -1; if(this.dateFin > c.dateFin) return 1; return this.sommet.compareTo((T) c.getSommet()); } }
Si je met cela, il n'y a plus de warning, mais je n'arrive pas à comparer autre chose que l'élément générique et je ne vois pas à quoi cela pourrai servir :
Je cherche plus à comprendre qu'à vraiment trouver une solution, puisque actuellement cela marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public abstract class AbstractSommet<T extends Comparable<T>> implements Comparable<T>{ T sommet; private int dateDebut; @Override public int compareTo(T o) { // TODO Auto-generated method stub return 0; } }
Merci d'avance
Partager