On va reprendre ici la classe Compte vu précédemment pour faire en sorte que deux comptes en banque soient comparables ; on décide que deux comptes sont égaux s'ils ont le même montant et que l'un est plus grand que l'autre si son montant est strictement plus grand que celui de l'autre.
package banque;
import utilitaires.Comparable;
public class Compte implements Comparable {
private int montant;
private int numero;
private String proprietaire;
... (Le code de l'ancienne classe Compte)
// On compare les comptes selon leurs montants
public int comparerA(Object o) {
Compte autre = (Compte) o;
if (this.montant < autre.getMontant()) return -1;
if (this.montant > autre.getMontant()) return 1;
return 0;
}
}
Remarque : dans le code de la méthode comparerA, il ne faut pas être surpris de l'absence de if else ou de else ; en effet, si les conditions des if sont vérifiées, la méthode se termine et on ne passe donc pas alors à l'instruction suivante.
© Irène Charon Télécom ParisTech 2010