是否有与 python eval 函数等效的 java 函数?
这将是一个接受任意字符串并尝试在当前上下文中执行它的函数。
最佳答案
基于 this Java Tip ,如果您愿意使用 com.sun.tools.javac.Main.compile(source)
,那么实时编译 Java 字符串确实是可能的。
com.sun.tools
中的类当然不是官方 Java API 的一部分。
在 Java 6 中,有一个编译器 API 可以提供对编译器的编程访问。参见 the documentation for interface JavaCompiler .
任何标准 API 均未提供直接的 eval
,但存在构建您自己的 API 的工具。如果您尝试执行完全一般的评估,您可能会遇到“JVM 内部的 JVM”问题,因此最好限制您想要执行的操作的范围。
另见:Is there an eval() function in Java?一些好的评论和解释。
关于java - 是否有与 python eval 函数等效的 java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143343/