我最近花了很多时间用Java编程,而我从脚本语言中遗漏的一件事就是能够在控制台中测试它们。
要快速测试java程序,我必须编辑一个文件,然后将其转换为字节码并执行它。即使使用IDE,它也会在第372次之后失去乐趣。
我想知道是否有一款产品具有交互式控制台(我打赌你需要JIT编译器)和一些自动完成功能(具有反复性,我认为它是可能的)。
也许这是我不知道的非常普遍的东西或者完全不可能的东西,但最糟糕的是: - )
答案 0 :(得分:41)
是; jshell,在此之前,一些近似值是Groovy,Clojure,Scala和Bean Shell。
答案 1 :(得分:13)
有趣的是,您可以使用Jython获得交互式控制台!你没有更多更像Python。
答案 2 :(得分:12)
Java REPL http://www.javarepl.com/term.html
使用intellij插件: http://plugins.jetbrains.com/plugin/7215?pr=
答案 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做过)并执行结果。
这不是一个很好的解决方案,但它是一个快速的一次性,我发现它非常有用。