Blog

Java : Généricité

La généricité permet de définir des classes, et des méthodes paramétrées par une ou plusieurs classes.

On peut définir une méthode générique dans une classe de la façon suivante :

     
public class X {
   public <T>  void affiche(Paire<T> p){
      System.out.println(p);
   }
   
   public <T> T choix(T a, T b){
      return (int)(Math.random()*2)==1?a:b;
   }
   
   public static void main(String []a){ 
      Paire<String> ps = new  Paire<String>("un", "deux");   
      Paire<Integer> pi = new Paire<Integer>(1, 2);
      X x = new X(); 
      x.affiche(ps);
      x.affiche(pi);
      Number n = x.choix(new Integer(2), new Double(3.14159));
   }
}

Dans la dernière ligne, le compilateur fait une inférence de type, et calcule la première super classe commune aux deux classes Integer et Double, soit Number.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *