Java是否有类似Python的交互式控制台?

时间:2009-04-24 19:50:56

标签: java console

我最近花了很多时间用Java编程,而我从脚本语言中遗漏的一件事就是能够在控制台中测试它们。

要快速测试java程序,我必须编辑一个文件,然后将其转换为字节码并执行它。即使使用IDE,它也会在第372次之后失去乐趣。

我想知道是否有一款产品具有交互式控制台(我打赌你需要JIT编译器)和一些自动完成功能(具有反复性,我认为它是可能的)。

也许这是我不知道的非常普遍的东西或者完全不可能的东西,但最糟糕的是: - )

11 个答案:

答案 0 :(得分:41)

是; jshell,在此之前,一些近似值是GroovyClojureScalaBean Shell

答案 1 :(得分:13)

有趣的是,您可以使用Jython获得交互式控制台!你没有更多更像Python。

答案 2 :(得分:12)

答案 3 :(得分:9)

尝试Dr Java's“互动窗格”。

答案 4 :(得分:6)

JShell现在是Java 9的标准配置。 JShell introduction

答案 5 :(得分:4)

我在某种程度上取得了成功的方法是在Eclipse中进行调试并使用显示视图。显示视图为您提供的是通过执行Java语句来操作当前在JVM中运行的代码的能力。在您停止的特定断点处可用的任何对象都在显示视图中的范围内。虽然这不是您正在寻找的,但它确实提供了REPL为其他编程环境提供的一些功能。有关详细信息,请参阅Debugging with the Eclipse Platform

答案 6 :(得分:4)

您也可以执行Scala交互式解释器。

答案 7 :(得分:2)

您可能对Groovy感兴趣。

答案 8 :(得分:2)

您可以使用BeanShell运行任意Java代码。如果您想要Eclipse集成,EclipseShell具有BeanShell支持。

答案 9 :(得分:1)

Jgrasp IDE有一个交互式控制台,您可以在其中进行测试, 我经常使用它,还有一个显示变量等的调试视图 在你揭开它们之后。

这是opensoruce,你可以获得一个副本 http://www.jgrasp.org/

// Anders

答案 10 :(得分:0)

我偶尔遇到同样的问题,并有一个部分解决方案。我保留一个文件(正如Charlie Martin所说,Java需要它的类上下文),这只不过是一个测试程序。在第二个窗口 - 控制台 - 我运行的脚本只是每两秒或两次检查一次源文件的修改时间。当它看到源更改时,它重新编译它(我通常在C中摆弄,但我也用Java做过)并执行结果。

这不是一个很好的解决方案,但它是一个快速的一次性,我发现它非常有用。