当前位置: 首页 > 面试题库 >

在Java中执行Java代码

卫宏硕
2023-03-14
问题内容

我有一个包含以下内容的字符串:
"for(int i=0 ; i<5 ; i++){System.out.println(\"*\");}"
我可以在Java中执行此字符串中的代码吗?


问题答案:

从Java 6开始,您 可以 使用SDK中的标准API 编译并运行定义为字符串或文件的Java 编译单元
(编译单元基本上是.java文件中的所有内容-包,导入,类/接口/枚举),看看这个例子。但是,您
不能 像问题中那样运行任意Java代码段。

如果可能的话,最好嵌入一种不同的脚本语言,该脚本语言允许您运行Java程序中的代码片段,例如JavaScript,Groovy,MVEL,BeanShell等。



 类似资料:
  • 您可以使用Ant来执行Java代码。 在以下示例中,java类接受参数(管理员的电子邮件地址)并发送电子邮件。 public class NotifyAdministrator { public static void main(String[] args) { String email = args[0]; notifyAdministratorviaEmail(e

  • 这是我不想检查的30行Java EE管道方法调用! 在单步执行一个方法时,跳过所有这些的唯一可靠方法是在下一个方法调用中放一个断点,然后点击“单步执行”而不是“单步执行”。然而,与简单的“一步进入”相比,一直这样设置断点是一个主要的麻烦。当我需要走出我正在检查的方法时,我必须重复同样的事情。 我了解Eclipse中的步骤过滤器,并尝试使用这些过滤器,但是一些自动生成的代理类被注入到我自己的包中,所

  • 我在登录测试方法中面临奇怪的执行行为。我在selenium网格下运行这段代码。网格配置为独立服务器。因此,首先,我使用批处理文件启动selenium网格(Hub\Node)以通过测试执行。 代码:1. pojDataSource.java: clsConstant。java: 模块测试。java: 当我在Eclipse IDE中以调试模式执行代码时,它向我显示了奇怪的行为。首先,它启动浏览器并打开

  • 问题内容: 我有定期被推送到数据库中的Java代码(很难解释为什么它存在于数据库中,而这只会使焦点从主要问题上移开)。 在运行时,我查询数据库。我可以执行从数据库中获得的代码吗?我只在代码中存储main方法的内容。运行数据库的服务器是HTTP服务器。 数据库中的示例代码(仅供参考): 预期产量: 问题答案: 任何Java程序都是正确的Groovy程序。因此,您可以将Groovy依赖项添加到项目中,

  • 我想和JDA做一个不和谐的赠品机器人。对我来说,在文件或其他地方保存条目是没有问题的,但是如何在3天后选择获胜者呢?它听起来不是很有效,使用定时器任务或保存到一个文件中的日期,并检查它每发送消息? 你不需要给我一个代码示例,但是一个简短的解释就足够了

  • 问题内容: 由于某种原因,没有关于在Java代码中运行liquibase的文档。我想为单元测试生成表。 我将如何直接在Java中运行它? 例如 问题答案: 它应该类似于(取自liquibase.integration.spring.SpringLiquibase源代码): ResourceAccessor有多种实现方式,具体取决于应如何找到更改日志文件。