Java 中字符串的动态代码执行
本文深入研究了执行存储在 String 变量中的一段 Java 代码的查询。能否将这段代码转换为 Java 语句并动态执行?
动态代码编译和执行
解决此问题的一种方法是利用 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>
使用这种方法,String 中的 Java 代码将被动态执行,允许您在运行时评估条件或执行操作。
以上是如何从字符串变量执行 Java 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!