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 :

créer un objet à partir du type d'une collection


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut créer un objet à partir du type d'une collection
    bonjour,

    voila j'ai une collection qui peut avoir celon les cas un type différent
    en gros elle est déclarée :
    ArrayList<TableauOrdresAffichage> contenuTableau;

    sauf qu'en réalité les objets qui sont dedans sont des objets qui hérite de TableauOrdresAffichage.
    Or pour mes traitements j'ai besoins de créer un objet qui est exactement du même type que les éléments de la collection.
    Je pensais utiliser l'introspection mais contenuTableau.getClass() renvois le type de la collection et non ce qu'il y a dedans.

    J'espère avoir été claire,
    merci de votre aide

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contenuTableau.get(0).getClass()
    Te renvoie le type du premier élément.

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    ok merci,
    maintenant si je veux créer un objet de ce type, c'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object element = contenuTableau.get(0).getClass();
    parceque si je fais ça je n'arrive pas à implémenter les méthodes de mon objet, il ne connait que les méthodes de la classe Object.
    merci

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    C'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class c = contenuTableau.get(0).getClass()
    Et en fonction de la classe trouvée, tu décide de ce que tu fais.

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    d'accord, je vois comment je peux m'en sortir (étant donné que je sais quel type je peux avoir)
    mais sinon il est pas possible de créer un objet avec la classe récupérée de façon à appeler les méthodes de cette classe par la suite?

    merci en tout cas

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu peux toujours utiliser le Class pour en créer un instance mais

    - ça demande de connaitre les parametres éventuels du constructeur
    - Tu devra quand meme faire du typecasting dessus pour le gérer après, sauf si tu veux ensuite accéder à toutes ses propriétés par réflection ou si tu veux le stocker dans la List sans le manipuler.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/12/2014, 11h10
  2. Créer un objet à partir d'une BDD
    Par Jean-Marc68 dans le forum C#
    Réponses: 3
    Dernier message: 10/02/2013, 20h06
  3. Réponses: 3
    Dernier message: 23/04/2007, 15h53
  4. 2 objets de même type dans une classe
    Par _R3nO_ dans le forum Hibernate
    Réponses: 2
    Dernier message: 28/02/2007, 16h12
  5. Réponses: 2
    Dernier message: 30/01/2007, 09h02

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