IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

récupérer un tableau de facon dynamique


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut récupérer un tableau de facon dynamique
    Bonjour,

    je cherche à récupérer un tableau de maniere dynamique, voila comment je m'y prend:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public static afficherChamps( Object o){
    		c = Class.forName((o.getClass()).getName());
    		//tableau de champs de la classe
    	        Field[] f = c.getDeclaredFields();
     
    	        //pour chaque attribut de la classe 
    	        for(int i=0; i<f.length;i++){
    	        	nomChamp=f[i].getName();
    	       		if( !(f[i].getType()).isArray()){
    	            		System.out.println("<"+nomChamp+">"+(f1.get(o)).toString());
    	            		element.setAttribute(nomChamp,(f1.get(o)).toString());
    	            	}
    	            	else{
    				// je veux récupérer la liste de mon champs de type tableau de ma classe n
    	            		List l= new Vector();
                			l.toArray((Object[]) f1.get(o));
    			}
    }
    seulement le bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // je veux récupérer la liste de mon champs de type tableau de ma classe n
    	            		List l= new Vector();
    	            		//Vector l=new Vector();
     
                			l.toArray((Object[]) f1.get(o));
    ne me recupére pas le tableau, comment faire!!!!

    :'(


    merci d'avance pour votre aide!

  2. #2
    Membre éprouvé Avatar de Celeborn
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Par défaut
    Bonjour,

    En faite c'est normal que ça ne marche pas.
    La méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    List l= new Vector();
    l.toArray((Object[]) f1.get(o));
    va placer les éléments de ton vecteur dans la référence de ton tableau (et ton vecteur est vide), or c'est l'inverse que tu veux faire.
    Tu peux toujours voir du côté de la Class CollectionS, mais je te conseil de manière générale d'utiliser en java autre chose que les vecteurs, LinkedList ou ArrayList suivant ton besoin.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 33
    Par défaut
    Merci pour ta réponse, j'ai fait le bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object[] tab=((Object[])f1.get(o));
    et maintenant ca marche.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 20/10/2009, 16h23
  2. Récupérer le buffer de facon dynamique
    Par Bmauet dans le forum Débuter
    Réponses: 2
    Dernier message: 26/10/2008, 18h18
  3. récupérer un tableau de checkbox
    Par mr.t dans le forum ASP
    Réponses: 3
    Dernier message: 05/04/2005, 16h11
  4. [Reflection] Créer un tableau d'objets dynamiquement.
    Par salome dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/03/2005, 18h59
  5. Réponses: 23
    Dernier message: 21/08/2003, 07h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo