Rechercher
 

La généricité en Java

Les niveaux d'accès en Java Javadoc



Accès rapide :
   Introduction
   Mise en oeuvre de classes génériques
   Définition de méthodes génériques sur classes normales

Introduction

Prochainement disponible

Mise en oeuvre de classes génériques

Prochainement disponible

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.



Les niveaux d'accès en Java Javadoc