next up previous contents index
suivant: Ordre naturel dans une monter: Paramètres fonctionnels précédent: Comparateur d'objets   Table des matières   Index


Réalisations anonymes d'une interface1#1

L'utilisation de l'interface Comparator serait lourde si l'on devait définir une classe de réalisation pour chaque méthode de comparaison ; ceci peut être évité, car Java permet d'instancier des classes anonymes :

class TestComparaison {
  // ...
  public static void main(String[] args) {
    Comparator ordreX = new Comparator() {
      public int compare(Object o1, Object o2) {
        Point p1 = (Point) o1;
        Point p2 = (Point) o2;
        int dx = p1.x - p2.x;
        return dx!=0 ? dx : p1.y - p2.y ;
      }
    };
    // ...
    Point m = (Point) min(new Point(2, 3), new Point(3, 2), ordreX);
  }
}

L'expression new Comparator() { ... }, qui utilise le nom de l'interface, permet à la fois de créer une instance et de définir la méthode compare().



Rene' LALEMENT 2002-11-07