HOWTO · Java
Extension de Comparable en Java
Ce tutoriel montre comment étendre Comparable en Java
Ce guide en apprendra davantage sur l’interface de comparaison étendue en Java. Il s’écrit Comparable<T>. C’est une interface qui est implémentée par de nombreuses classes en Java. Apprenons-en plus sur ses aspects.
Implémentation de l’interface Extends Comparable<T> en Java
Cette Interface n’a qu’une seule méthode, compareTo(Object o). Cette méthode compare l’objet avec l’objet spécifié pour la commande.
Il renvoie un entier négatif si l’objet est inférieur à celui spécifié. Il renverra zéro si l’objet et l’objet spécifié sont égaux.
De même, il renvoie un entier positif si l’objet est supérieur à l’objet spécifié.
Gardez à l’esprit qu’une classe ne peut pas étendre l’interface Java en Java.
L’interface ne peut qu’étendre l’interface. La classe Java ne peut étendre qu’une classe Java.
Comme Comparable<T> est une interface en Java, nous devons créer une interface personnalisée qui étendra l’interface Comparable. La classe personnalisée implémentera l’interface personnalisée.
public class Main {
public static void main(String[] args) {
Student s1 = new Student("Bill Gates");
Student s2 = new Student("James");
int res = s1.compareTo(s2);
// comaprison of name of two students using iherited and extended method of
// compareable.
System.out.println(res);
}
}
interface CustomComparable extends Comparable<Student> {
// Custom interface which extends Comparable.
// So CustomComparable have inherited method Compareto(Object o)
public String getName();
}
class Student implements CustomComparable {
// calss student implements CustomCompareable
private String name; // String variable
Student(String s) {
this.name = s;
}
public int compareTo(Student other) { // overiding super method........... .
return this.name.compareTo(other.getName());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Production:
- 8
Nous créons simplement deux objets de classe étudiant qui implémentent notre classe comparateur personnalisée, étendant le véritable Comparable<T>. C’est ainsi que nous pouvons utiliser cette méthode compareTo() ici.