有没有类似于python的交互式REPL模式,但对于Java来说?

2022-09-01 09:07:07

有没有类似于python的交互式REPL模式,但对于Java来说?这样,例如,我可以在窗口中键入内容,并立即获得结果,而无需所有这些公共静态 void nightmare() 的东西?InetAddress.getAllByName( localHostName )


答案 1

编辑从Java 9开始,就有了JShell。

原始答案如下

您还可以使用Groovy控制台。它是一个交互式控制台,您可以在其中做自己想做的事情。由于Groovy还包括来自核心java平台的类,因此您也可以使用这些类。

它看起来像这样:

Screenshot of Groovy


答案 2

Eclipse有一个功能可以做到这一点,尽管它不是一个循环。它被称为“剪贴簿页面”。我假设这个类比应该是你有一个剪贴簿,在那里你收集一些代码片段。

无论如何,要让它工作,在Eclipse中打开一个项目(你的剪贴簿页面将与一个项目相关联 - 当项目拥有东西时,Eclipse喜欢它)。

然后:

  1. 在项目导航器窗口中,选择项目中存在的文件夹。
  2. 选择菜单文件 -> 新建 -> 其他,或按 Control-N。
  3. 选择 Java -> Java 运行/调试 ->剪贴簿页面。
  4. 点击“下一步”,然后给它一个文件名,然后点击“完成”。

现在你有一个剪贴簿页面。键入一些代码,如下所示:

System.out.println(System.getProperties());

然后用鼠标选择文本,然后点击Control-U或从上下文菜单中选择“执行”。代码将运行,输出将显示在控制台上。

还可以键入表达式,选择该表达式,然后从上下文菜单中选择“显示”。它将计算表达式并打印其类型。例如,运行“显示于”将打印 。1 + 2(int) 3


推荐