Dynamische Codeausführung aus String in Java
Dieser Artikel befasst sich mit der Untersuchung der Ausführung eines Teils Java-Codes, der in einer String-Variablen gespeichert ist. Kann dieser Code in eine Java-Anweisung umgewandelt und dynamisch ausgeführt werden?
Dynamische Codekompilierung und -ausführung
Ein Ansatz zur Lösung dieses Problems besteht in der Verwendung der Compiler-API von Java. Dadurch können Sie Java-Code im Handumdrehen kompilieren. Hier ist ein kurzer Überblick über die Schritte:
Alternative: Beanshell
Alternativ können Sie die Verwendung der von Beanshell interpretierten Skriptsprache in Betracht ziehen . Beanshell bietet eine nahtlose Schnittstelle zum Ausführen von Java-Code aus Strings. So können Sie Beanshell verwenden:
Implementierungsdetails
Der folgende Codeausschnitt demonstriert die dynamische Ausführung von Java-Code mit 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>
Mit diesem Ansatz wird der Java-Code im String dynamisch ausgeführt, sodass Sie zur Laufzeit Bedingungen auswerten oder Vorgänge ausführen können.
Das obige ist der detaillierte Inhalt vonWie führe ich Java-Code aus einer String-Variablen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!