Il s'agit ici de compléter la classe Eleve pour faire en sorte d'avoir une classe qui implémente l'interface java.lang.Comparable<T>. C'est une interface générique, comme l'indique le <T> mais il n'y a pas grand-chose à savoir sur le sujet pour l'utiliser. Il faudra, en implémentant l'interface, indiquer à la place du T le type des objets qu'on veut comparer entre eux.
L'interface Comparable<T> déclare une seule méthode :
public int compareTo(T o);
Quand cette méthode est implémentée, elle doit retourner une valeur strictement négative, nulle ou strictement positive selon que l'objet concerné (celui qui correspond à la référence this) est plus petit que l'objet o, égal à l'objet o ou plus grand que l'objet o.
On comparera les élèves selon leur moyenne (ou, si vous préférez, selon l'ordre alphabétique).
Pour cela, vous allez reprendre la classe Eleve écrite précédemment pour la transformer en une classe qui implémente l'interface java.lang.Comparable<T>. Il faudra pour cela compléter l'en-tête de la classe Eleve par "implements Comparable<Eleve>". Il faudra de plus définir la méthode compareTo déclarée par l'interface Comparable. Cette méthode est à nouveau générique ; si la classe implémente Comparable<Eleve>, le paramètre de la méthode doit être de type Eleve, l'en-tête est donc :
public int compareTo(Eleve autreEleve)
Le code de la méthode doit respecter la fonctionnalité décrite plus haut.
Après avoir ainsi complété la classe Eleve, modifiez aussi la méthode main de la classe TestEleve pour tester la méthode compareTo.