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 :

Evaluation chaîne de caractère


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 92
    Points
    92
    Par défaut Evaluation chaîne de caractère
    Bonjour,

    J'essaie désespérément d'exécuter une instruction où j'évalue le contenu d'une chaîne de caractère. Par exemple est-ce que quelque chose comme ça est possible ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String nomConstructeur;
    nomConstructeur = "Voiture()";
    Voiture v = new eval(nomConstructeur);
    Je me suis tourné vers l'introspection mais je n'ai pas trouvé la bonne façon de faire.

    Merci!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 104
    Points : 135
    Points
    135
    Par défaut
    Salut,

    de mon point de vue, faire une évaluation d'une chaine de caractères pour exécuter est potentiellement dangereux.
    Comment vérifies tu le code contenu dans cette chaine de caractères ? comment sais tu que exécutes le contructeur de Voiture pour faire l'affectation ?

    Quel est ton besoin ? il y a peut être une autre solution.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 136
    Points
    136
    Par défaut
    Salut,

    Je ne comprends pas vraiment quel est le but final. Tu voudrais instancier un objet en choisissant plus ou moins dynamiquement le constructeur ?

    Ne serait-ce pas avant tout un problème d'architecture ?

    EDIT: grillé
    "Je sais que je suis un geek depuis que j'utilise le timer de mIRC pour faire cuire des pâtes"

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    La fonction eval (ou un système similaire) n'existe pas en Java.

    Si tu veux exécuter du code qui pourrait de loin ressembler à cela, considère le package java.lang.reflect.

    Un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Class<?> type = Class.forName("mon.package.Voiture");
    Object o = type.newInstance();
    Voiture v = (Voiture)o;

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 92
    Points
    92
    Par défaut
    Merci de vos réponses!

    Alors effectivement peut-être que je m'y prend mal.
    Mon but est de créer une liste d'objets dont le type peut varier selon les choix d'utilisateur.
    Donc au vu de vos réponses, je pense que je vais créer un seul type plus générique et le problème sera réglé...

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

Discussions similaires

  1. Evaluer des expressions au sein de chaînes de caractères
    Par DamJNeT dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 18/06/2014, 15h15
  2. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  3. Evaluation d'une chaîne de caractère
    Par _ChToM_ dans le forum VB 6 et antérieur
    Réponses: 37
    Dernier message: 29/09/2006, 20h11
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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