Maison > Java > javaDidacticiel > le corps du texte

Comment exécuter du code Java à partir d'une variable chaîne ?

Patricia Arquette
Libérer: 2024-10-25 05:30:29
original
517 Les gens l'ont consulté

How to Execute Java Code from a String Variable?

Exécution de code dynamique à partir d'une chaîne en Java

Cet article se penche sur l'exécution d'un morceau de code Java stocké dans une variable String. Ce code peut-il être transformé en instruction Java et exécuté dynamiquement ?

Compilation et exécution de code dynamique

Une approche pour résoudre ce problème consiste à utiliser l'API du compilateur Java. Cela vous permet de compiler du code Java à la volée. Voici un bref aperçu des étapes à suivre :

  • Compilez le code contenu dans la chaîne à l'aide d'une instance JavaCompiler.
  • Obtenez une instance ClassLoader pour charger la classe compilée.
  • Créez une instance de la classe chargée dynamiquement et invoquez ses méthodes.

Alternative : Beanshell

Vous pouvez également envisager d'utiliser le langage de script interprété Beanshell . Beanshell offre une interface transparente pour exécuter du code Java à partir de chaînes. Voici comment utiliser Beanshell :

  • Importez la bibliothèque Beanshell dans votre projet.
  • Créez une instance de la classe Interpreter et fournissez la chaîne de code Java en entrée.
  • Exécutez le code en appelant la méthode eval().

Détails d'implémentation

L'extrait de code suivant illustre l'exécution dynamique du code Java à l'aide de Beanshell :

<code class="java">import bsh.Interpreter;

public class DynamicCodeExecution {

    public static void main(String[] args) throws Exception {
        // Java code stored in a String
        String javaCode = "if(polishScreenHeight >= 200 && " +
            "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";

        // Create Beanshell interpreter
        Interpreter interpreter = new Interpreter();

        // Set the code to be executed
        interpreter.eval(javaCode);
    }
}</code>
Copier après la connexion

En utilisant cette approche, le code Java dans la chaîne sera exécuté dynamiquement, vous permettant d'évaluer les conditions ou d'effectuer des opérations au moment de l'exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal