Java-像普通代码一样运行字符串
有没有办法将字符串作为代码运行?我的意思是,如果我运行了一个字符串,其值为Java-像普通代码一样运行字符串,java,string,runnable,Java,String,Runnable,有没有办法将字符串作为代码运行?我的意思是,如果我运行了一个字符串,其值为System.out.println(“Hello-World”),我可以像运行普通代码一样运行该字符串,那么输出将是Hello-World吗 例如: String code = "System.out.println("Hello World)"; code.run(); //I know this doesn't work 控制台: Hello World 你需要JavaScript的等价物。Java中没有等价物
System.out.println(“Hello-World”)
,我可以像运行普通代码一样运行该字符串,那么输出将是Hello-World吗
例如:
String code = "System.out.println("Hello World)";
code.run(); //I know this doesn't work
控制台:
Hello World
你需要JavaScript的等价物。Java中没有等价物 嗯,有,但这不是小事 您可以生成包含该代码的类的完整源代码
public class StuffToDynamicallyCompile {
public static final void main(String[] ignored) {
PUT STUFF HERE!
}
}
然后通过编程方式调用编译器,如中所述或注释中所述:
这不是一项简单的任务。也许有一种方法可以最小化您的需求,这样您就可以允许极其有限的一组命令,只需使用一个开关来执行它(“如果'dothis'则调用
dothis()
,否则如果'doThat',则调用doThat()
,等等).在这里签出我的答案我不想编译一个程序,我想在Current中运行字符串即使eval()
是用Java编写的,这也行不通。“Hello World”不是以文本形式括起来的,您缺少了一个“
。由于语法错误,它将无法编译。此外,您忘记了在字符串中转义”
。从技术上讲,任何时候将java文件编译到类,您都是以代码形式运行字符串。如果您想以编程方式导入文本文件,并从代码中将其作为代码运行,则必须找到以编程方式重新编译它的方法。我不知道这是否可能