Rechercher
 

Définition de méthodes génériques

Apprendre à coder une classe générique La notion de package



Accès rapide :
La vidéo
Définition de méthodes génériques sur classes normales

La vidéo

Cette vidéo vous apprend à coder des méthodes génériques sur des classes non générique. Elle vous montre aussi comment restreindre les types autorisés par la généricité.


Définition de méthodes génériques

Définition de méthodes génériques sur classes normales

Le langage Java permet de définir des méthodes génériques sur une classe qui ne l'est pas. Par exemple, on peut imaginer une méthode dont le type de retour est dépend du type de l'un des paramètres pour propduire des objets de natures diverses. Dans ce cas, il faudra utiliser la syntaxe <T> pour introduire la méthode générique (voir ligne 8 de l'exemple ci-dessous). En voici un petit exemple.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
import java.lang.reflect.Constructor;
import java.util.Date;

import javax.swing.JButton;

public class Demo {
    
    public static <T> T createInstance( Class<T> metadata ) throws Exception {
        Constructor<T> constructor = metadata.getDeclaredConstructor();
        constructor.setAccessible( true );
        return constructor.newInstance();        
    }
    
    
    public static void main( String[] args ) throws Exception {
        Date date = Demo.createInstance( Date.class );
        System.out.println( date );

        JButton button = Demo.createInstance( JButton.class );
        System.out.println( button );
    }
    
}
Exemple de définition d'une méthode générique

Notez bien que dans le main, aucun cast n'est nécessaire étant donné que le type de retour de la méthode est dépendant du type du paramètre de la méthode.



Apprendre à coder une classe générique La notion de package