运行字符串中包含的代码段

2022-08-31 19:38:19

我在字符串中有一段Java代码。

String javaCode = "if(polishScreenHeight >= 200 && " +
    "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";

是否可以将此 Java 字符串转换为 Java 语句并运行它?可能使用 Java 反射?


答案 1

如前所述,您可以使用编译器 API 动态编译、保存和运行代码。

另一个巧妙的替代方案是使用beanshell。Beanshell不再积极开发,但我可以保证它的可靠性,我已经在多个生产项目中成功地使用它。


答案 2

使用BeanShell。有一个关于如何从Java使用它的页面。