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

Langage Java Discussion :

[Language]Attribuer un type a un objet de maniere dynamique


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut [Language]Attribuer un type a un objet de maniere dynamique
    Bonjour,

    j'aimerais savoir comment je peux faire pour attribuer un type a un objet de maniere dynamique.
    Je m'explique :
    j'ai deux objets :
    String type qui peut etre egal a "boolean", "byte", "short", "int", "long", "float", "double", ou "String".
    Ensuite j'ai un objet
    value qui va prendre le type défini par l'objet type donc soit : "boolean", "byte", "short", "int", "long", "float", "double", ou "String".
    Comment puis-je faire pour pouvoir créer cet objet value avec le bon type "lue" dans l'objet "type"?
    merci merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    Salut,

    A la rigueur, si tu voulais stocker que des objets (String, Integer, Double ...) et non des types primitifs (int, double, ...), tu pourrais déclarer ton objet en tant qu'Object et comme ça, tu peux y mettre tout et n'importe quoi ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object objet = null;
    String type = "Integer";
    et aprés, on fonction de la valeur de "type", tu cast en consequence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(type.equals("Integer")) {
      Integer i = (Integer)objet;
      ...
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    je pense pas que tu puisse faire ca sur les type primitif genre int, char, boolean !
    Par contre avec la reflection en java tu peux instancier dynamiquement des objet , mais la il faut que tu rentre le type entier :
    par exemple :
    java.lang.String

    regarde les methodes forname et newInstance de la classe Class!!

    pour les type primitif tu peux les remplacer par les classe qui encapsulent les type primitif comme Integer pour les int !!!
    UML avec VIOLET

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Oki, oki !
    merci.

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

Discussions similaires

  1. Type d'un objet = forcément sa Classe ?
    Par Xitog dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 10/01/2006, 20h17
  2. Renvoyer un type structuré dans objet OLE
    Par Bleuarff dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/05/2005, 20h05
  3. [Language]Type d'un objet null
    Par Calambo dans le forum Langage
    Réponses: 8
    Dernier message: 26/04/2005, 10h06
  4. [POO] Comment connaître le type d'un objet
    Par zizou39 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/03/2005, 09h46
  5. Comment detecter le type d'un objet?
    Par nickylarson dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/06/2003, 15h23

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