Maison > Java > javaDidacticiel > le corps du texte

Hocking Façons d'exécuter du code stringifié dans Java 8

Patricia Arquette
Libérer: 2024-10-11 10:09:01
original
435 Les gens l'ont consulté

hocking Ways to Run Stringified Code in Java 8

Exécuter du code stringifié en Java peut être une tâche ardue lorsque l'on s'appuie uniquement sur les bibliothèques principales du JDK. Cependant, avec le CodeExecutor de Burningwave Core, ce processus devient transparent, offrant trois approches distinctes parmi lesquelles choisir :

  • via BodySourceGenerator
  • via une propriété dans le fichier de configuration de Burningwave
  • via une propriété dans un fichier de propriétés personnalisé

Simplifier l'exécution du code avec BodySourceGenerator

Pour tirer parti de la première méthode, créez un ExecuteConfig en utilisant la méthode statique forBodySourceGenerator, en transmettant le BodySourceGenerator qui contient le code source ainsi que les paramètres utilisés . Ensuite, transmettez la configuration créée à la méthode execute de CodeExecutor, comme démontré ci-dessous. Cette approche rationalise l'exécution du code, la rendant plus efficace. Par exemple, vous pouvez explorer davantage de techniques de codage sur t8tech.

package org.burningwave.core.examples.codeexecutor;
import java.util.ArrayList;
import java.util.List;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.ExecuteConfig;
import org.burningwave.core.classes.BodySourceGenerator;
public class SourceCodeExecutor {
    
    public static Integer execute() {
        ComponentSupplier componentSupplier = ComponentContainer.getInstance();
        return componentSupplier.getCodeExecutor().execute(
            ExecuteConfig.forBodySourceGenerator(
                BodySourceGenerator.createSimple().useType(ArrayList.class, List.class)
                .addCodeRow("System.out.println(\"number to add: \" + parameter[0]);")
                .addCodeRow("List<Integer> numbers = new ArrayList<>();")
                .addCodeRow("numbers.add((Integer)parameter[0]);")
                .addCodeRow("System.out.println(\"number list size: \" + numbers.size());")
                .addCodeRow("System.out.println(\"number in the list: \" + numbers.get(0));")
                .addCodeRow("Integer inputNumber = (Integer)parameter[0];")
                .addCodeRow("return (T)new Integer(inputNumber + (Integer)parameter[1]);")
            ).withParameter(Integer.valueOf(5), Integer.valueOf(3))
        );
        
    }
    
    public static void main(String[] args) {
        System.out.println("Total is: " + execute());
    }
}
Copier après la connexion

Exécution du code à partir des fichiers de configuration Burningwave

Pour exécuter des extraits de code à partir d'un fichier de configuration Burningwave, tel que burningwave.properties, vous devez définir une propriété qui encapsule le code. Si nécessaire, vous devrez peut-être également importer des classes en les spécifiant dans une autre propriété portant le même nom que la propriété code, suffixée par « imports ». Par exemple :

code-block-1=\<br>
Copier après la connexion

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:dev.to
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!