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 :

Déclaration de tableau du type Class..


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut Déclaration de tableau du type Class..
    Bonjour,

    Ma méthode possède un parametre qui est : A l’intérieur de cette méthode, j'aimerais déclarer un tableau contenant des objets du type de la classe donnée en paramètre :

    J'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cl tableau[] = new cl[2];
    le compilateur veut pas.

    et ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cl tableau[] = (cl) Array.newInstance(cl, 0);
    non plus..


    Je commence à me demander si c'est possible ..

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Non tu ne peux pas utiliser une variable comme un type. Ce n'est pas la même chose...


    Quel est l'objectif final de tout cela ?


    a++

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    Pour l'explication :

    La méthode en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public Cmr init(Class cl,Integer pkValue)
    A l’intérieur de cette méthode, je dois créer une instance d'objet dynamiquement.
    Pour créer cette instance j'ai un constructeur avec un paramètre de type tableau de CmrLigne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Cmr(Integer idCmr,Date date,CmrLigne cmrligne[])
    Lors de l'utilisation de ma methode init, je passe en paramètre la classe suivante : Et donc je dois créer un tableau de CmrLigne.class pour pouvoir alimenter le constructeur dynamique...

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Euh... quel est l'intérêt de passer par du code dynamique puisque le type est fixe ?!

    Si tu veux vraiment faire cela il faudra faire tout l'appel via la reflection, mais je ne comprend pas ce qui t'empêche de faire un appel direct.


    a++

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 117
    Par défaut
    La methode init que j'ai décrit est simplifiée..

    En fait, je ne connais pas le type Cmr, je le passe dans le parametre Class cl et ce n'est que par récursivité que j'obtiens le type de CmrLigne...
    Je ne connais donc pas le type cmrligne au départ.(sinon effectivement suffirait de passer CmrLigne [] en paramètre...)

    En résumé, à l'interieur de ma methode, mon code permet d'obtenir un tableau d'objet et dans ce tableau je n'ai que des élements de type CmrLigne.
    A ma disposition j'ai un Class cl (qui est le .class de CmrLigne).
    Le probleme est que je n'arrive pas à faire un cast avec (cl[]) le compilateur refuse...

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jeffciara Voir le message
    La methode init que j'ai décrit est simplifiée..
    Dans ce cas donnes nous un exemple concret, ou mieux ton vrai code !


    Si tu simplifies ton problème tu auras des solutions simplifiés qui ne correspondront pas à ton besoin...


    a++

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/04/2013, 19h29
  2. [Tableaux] Déclaration d'un tableau dans une classe
    Par rochenico dans le forum Langage
    Réponses: 4
    Dernier message: 22/12/2006, 11h29
  3. Initialisation d'un tableau de type STRUCT
    Par Axiome dans le forum MFC
    Réponses: 4
    Dernier message: 06/09/2005, 10h58
  4. Réponses: 13
    Dernier message: 25/03/2005, 11h00
  5. [Debutant]reallocation de memoire d'un tableau de type perso
    Par killerjeff dans le forum Débuter
    Réponses: 3
    Dernier message: 04/08/2004, 17h09

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