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 :

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;
	}
 
}
Je cherche plus à comprendre qu'à vraiment trouver une solution, puisque actuellement cela marche.

Merci d'avance