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

API standards et tierces Java Discussion :

[String] équivalent de la fonction eval() en javascript


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 50
    Points
    50
    Par défaut [String] équivalent de la fonction eval() en javascript
    Bonjour,

    Existe-t-il un équivalent de la fonction eval() de javascript en Java ?

    Je souhaite faire :
    String maVariable = "toto";
    ObjetQuelconque monObjet = new ObjetQuelconque()
    ...
    int i = eval("monObjet." + maVariable);
    ou maVariable se transformerait en toto pour en fait récupérer la valeur monObjet.toto

    En gros je souhaite récupérer des valeurs de variables, aléatoirement.

    Merci !

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Mmmm.....

    2 solutions mais aucune avec un EQ d'éval.

    1/ Utiliser une interface
    2/ Faire de l'introspection
    Pour la partie introspection, tu a un article complet sur ce site.

    Avec une interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public interface MonInterface {
      public String getValeur();
    }
    Une classe qui implémente cette interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class MonObjet implements MonInterface {
      private String toto;
     
      public String getValeur() {
        return toto;
      }
     
      public vois setValeur(String toto) {
        this.toto = toto;
      }
    }
    Et pour chercher la valeur de la propriété de ton objet de manière + ou - générique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MonObjet o = new MonObjet();
    if( o instanceof MonInterface) {
      MonInterface i = (MonInterface)o;
      String chaine = i.getValeur();
    }
    else {
      System.out.println("L'objet n'implémente pas l'interface MonInterface");
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    merci, je vais voir ça...

  4. #4
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 72
    Points
    72
    Par défaut
    Si tu veux faire du JavaScript en Java, utilises Rhino !

    Si tu veux vraiment l'équivalent de eval, il faut utiliser un langage de script dans ton programme java. Il y a plein de possibilités pour cela, et cela fonctionne très bien. Mais pour les cas simples, l'introspection, comme l'indique Alwin, est tout de même le mieux.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    J'ai utilisé l'introspection, ça me va pour le cas que je traite !

    Encore merci.

  6. #6
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    un petit tag [Résolu] ? (bouton en bas à gauche de cette page)

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/06/2011, 21h20
  2. Réponses: 2
    Dernier message: 30/08/2006, 15h08
  3. Simuler la fonction eval
    Par topwl dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/08/2005, 01h44
  4. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 17h45
  5. [STL] vector<string> et appel de fonctions.
    Par guejo dans le forum MFC
    Réponses: 4
    Dernier message: 08/10/2004, 17h36

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