RSS
 

Transformer une liste typée en un tableau d’objets

18 août

J’ai découvert aujourd’hui comment transformer tout simplement un objet de type List<MonType> en un tableau de type MonType[].

Il est plutôt dur de trouver ceci tout seul … mais une fois qu’on l’a vue une fois on peut gagner un temps fou !

Admettons que nous ayons les variables suivantes :

// Une liste que nous supposons remplie avec le contenu d'une collection
List liste = new ArrayList(uneCollection);
// Un tableau d'objets de type MonType que nous souhaitons renvoyer pour une raison quelconque
MonType[] resu;

Nous aimerions tout simplement que resu contienne le contenu de liste. La solution manuelle serait de la forme ci-après (c’est cette portion de code que j’avais en tout cas écrite) :

resu = new MonType[liste.size()];
for(int i=0;i < resu.length; i++){
   resu[i] = liste.get(i);
}


… ce qui est bien mais pas top ! En fait, nous pouvons utiliser la méthode toArray() de la liste, mais il faut juste trouver comment typer notre résultat car par défaut toArray() renvoie un Object[].

Voici donc la ligne magique, regardez juste le paramètre qui est passé à toArray() :

resu = (MonType[]) liste.toArray(new MonType[0]);


Et voilà, nous y sommes ! Bon codage …

Pensez à utiliser mon flux RSS pour vous tenir au courant des futurs articles ! Vous pouvez aussi me retrouver sur Twitter pour une actualité plus fréquente.

 
No Comments

Posted in En vrac

 

Tags: