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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-10-11 10:09:01550parcourir

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());
    }
}

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>

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!

Déclaration:
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