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