Médiaforma

Java – Generics

Print Friendly

Les generics sont apparus avec la version 5 de Java. Ils ajoutent une vérification à la compilation pour éviter des erreurs de type ClassCastException à l’exécution.

Un premier exemple

Examinez ce code :

import java.util.ArrayList;
import java.util.List;

public class Generics {

    public static void main(String[] args) {
        List = new ArrayList();
        list.add("abc");
        list.add(new Integer(5));

        for(Object obj : list){
          //Ce casting conduit à une exception au runtime
          String str=(String) obj;
          //Traitement sur l’objet str
        }
    }
}

Voici l’erreur qui se produit à l’exécution :

 

 

 

Pour éviter ce type d’erreur, vous pouvez utiliser des generics. La définition de la collection se fait comme ceci :

import java.util.ArrayList;
import java.util.List;

public class Generics {

    public static void main(String[] args) {
      List<String> list1 = new ArrayList<String>();
      list1.add("abc");
      //Cette instruction produit une erreur à la compilation
      list1.add(new Integer(5));

      // Aucun casting n’est nécessaire
      // L’erreur ClassCastException est ainsi évitée
      for(String str : list1){
        //Traitement sur l’objet str
      }
    }
}
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply