suchen
HeimJavajavaLernprogrammWie führe ich in einer String-Variablen gespeicherten Java-Code aus?

How to Execute Java Code Stored in a String Variable?

In einem String gespeicherten Code ausführen

Frage:

Kann man Java-Code so ausführen? wird in einer String-Variablen gespeichert? Ist es möglich, einen solchen String in eine Java-Anweisung umzuwandeln und auszuführen?

Antwort:

Verwendung der Compiler-API

Wie in einem früheren Vorschlag erwähnt, ermöglicht Ihnen die Compiler-API das dynamische Kompilieren und Ausführen von Code. So können Sie sie verwenden:

<code class="java">// Create a Java source code string
String javaCode = "...";

// Create a Java compiler instance
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

// Create a source code file from the string
JavaFileObject javaFile = new StringJavaFileObject("MyCode", javaCode);

// Compile the source code
DiagnosticCollector<javafileobject> diagnostics = new DiagnosticCollector();
Iterable extends JavaFileObject> compilationUnits = Collections.singletonList(javaFile);
compiler.getTask(null, null, diagnostics, null, null, compilationUnits).call();

// Execute the compiled code
Class> clazz = Class.forName("MyCode");
Method method = clazz.getDeclaredMethod("myMethod");
method.invoke(null);</javafileobject></code>

Beanshell verwenden

Alternativ können Sie die Beanshell-Bibliothek wie folgt verwenden:

<code class="java">// Create a Beanshell interpreter and add the Java code to it
Interpreter interpreter = new Interpreter();
interpreter.eval(javaCode);

// Access the defined classes and methods in the interpreter
Class> myClass = interpreter.getClassLoader().loadClass("MyClass");
Method method = myClass.getDeclaredMethod("myMethod");
method.invoke(null);</code>

Beachten Sie, dass Beanshell nicht mehr aktiv weiterentwickelt wird, für Produktionsumgebungen jedoch weiterhin zuverlässig ist.

Das obige ist der detaillierte Inhalt vonWie führe ich in einer String-Variablen gespeicherten Java-Code aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen