我对Java还比较陌生,希望能够像我用IPython学Python一样使用交互式shell来学习Java。
我尝试了几个交互式shell,如beanshell、jython、jythonconsole和JyConsole等,但大部分都没有像IPython那样的选项补全功能。是否有类似于IPython适用于Java的工具呢?
groovysh:
http://groovy.codehaus.org/Groovy+Shell
你可能不会经常使用交互式的java,因为该语言强烈倾向于编译。最好的方法可能就是获取一个好的集成开发环境(IDE),如eclipse,并开始使用断点和调试器。
Gayan Weerakutti在评论中已经提到了我的想法,这也应该是正确的答案:
JShell从版本9开始是JDK的一部分。
在您的终端上尝试jshell
命令。
查看来自Oracle的文档以获取更多信息。
你使用了哪个BeanShell?是旧版本吗? 看一下this,他们声称提供自动完成功能。
我认为我找到了一个足够好的替代品: JPype。JPype允许Python程序完全访问Java类库。使用JPype和IPython,我可以在导入类之后使用所有Java函数,并且对于Java类具有非常好的制表符完成功能。
虽然我同意 TokenMacGuy 的说法:
最好的方法可能就是使用一个好的 IDE,比如 Eclipse。但是我也来自一个交互式 shell 工具必不可少的环境。所以我也建议你直接使用像 ipython 这样的工具,从 jython/JPype 中直接使用。
这可以通过使用 JPype(由 i-freaker 建议)或通过 jython 实现:
jython
(检查它是否运行正常:jython -c 'import os; print "Python meets %s" % os.name'
)readline
(如果是 Mac,执行命令:sudo port install readline
)java-readline
正常工作readline
的 jython
(在 jython 中按下 Ctrl+R
可以得到类似于 shell 的 reverse-i-search
)。为了获得像在 ipython
中一样的 tab 补全功能,请按照 这篇博客 的步骤操作IntelliJ IDEA带有具有选项卡完成的Groovy控制台。
打开它:工具 -> Groovy控制台...
看一下https://github.com/Bachmann1234/java9_kernel,你可以安装一个Java内核用于IPython并使用它(也可以通过笔记本电脑)。
$jshell
。 - Gayan Weerakutti