Heim > Java > javaLernprogramm > Hauptteil

hocking Möglichkeiten zum Ausführen von stringifiziertem Code in Java 8

Patricia Arquette
Freigeben: 2024-10-11 10:09:01
Original
435 Leute haben es durchsucht

hocking Ways to Run Stringified Code in Java 8

Das Ausführen von stringifiziertem Code in Java kann eine entmutigende Aufgabe sein, wenn man sich ausschließlich auf JDK-Kernbibliotheken verlässt. Mit dem CodeExecutor von Burningwave Core wird dieser Prozess jedoch nahtlos und bietet drei verschiedene Ansätze zur Auswahl:

  • über BodySourceGenerator
  • über eine Eigenschaft in der Burningwave-Konfigurationsdatei
  • über eine Eigenschaft in einer benutzerdefinierten Eigenschaftendatei

Vereinfachung der Codeausführung mit BodySourceGenerator

Um die erste Methode zu nutzen, erstellen Sie eine ExecuteConfig mit der statischen Methode forBodySourceGenerator und übergeben Sie den BodySourceGenerator, der den Quellcode zusammen mit den verwendeten Parametern enthält . Übergeben Sie dann die erstellte Konfiguration an die Methode execute von CodeExecutor, wie unten gezeigt. Dieser Ansatz optimiert die Codeausführung und macht sie effizienter. Weitere Codierungstechniken können Sie beispielsweise auf t8tech erkunden.

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());
    }
}
Nach dem Login kopieren

Code aus Burningwave-Konfigurationsdateien ausführen

Um Codeausschnitte aus einer Burningwave-Konfigurationsdatei wie burningwave.properties auszuführen, müssen Sie eine Eigenschaft definieren, die den Code kapselt. Bei Bedarf müssen Sie möglicherweise auch Klassen importieren, indem Sie sie in einer anderen Eigenschaft mit demselben Namen wie die Codeeigenschaft und dem Suffix „imports“ angeben. Zum Beispiel:

code-block-1=\<br>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonhocking Möglichkeiten zum Ausführen von stringifiziertem Code in Java 8. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!