Java の文字列からの動的コード実行
この記事では、String 変数内に格納された Java コードの一部の実行について詳しく説明します。このコードを Java ステートメントに変換して動的に実行できますか?
動的コードのコンパイルと実行
この問題に取り組む 1 つのアプローチには、Java のコンパイラ API を利用することが含まれます。これにより、Java コードをオンザフライでコンパイルできるようになります。関連する手順の概要を次に示します。
代替: Beanshell
あるいは、Beanshell で解釈されるスクリプト言語の使用を検討できます。 。 Beanshell は、文字列から Java コードを実行するためのシームレスなインターフェイスを提供します。 Beanshell の使用方法は次のとおりです。
実装の詳細
次のコード スニペットは、Beanshell を使用した Java コードの動的実行を示しています。
<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>
このアプローチを使用すると、文字列内の Java コードが動的に実行され、実行時に条件を評価したり操作を実行したりできるようになります。
以上が文字列変数から Java コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。