nau*_*uke 7 java read-eval-print-loop java-9 jshell
我经历了几个关于JShell的教程,我仍然不了解最重要的部分:为什么我甚至会使用JShell?
这就是Oracle所说的:
"您可以测试单个语句,尝试不同的方法变体,并在JShell会话中尝试不熟悉的API".
是的,很棒,但对于所有这些事情,我可以使用IDE.我明白,REPL应该能够更快地进行代码评估.但是,在带有Sysout的虚拟Hello World项目中在IDE中测试一段代码肯定不会慢一些?
事实上,IDE提供自动完成,早期检测错误,我可以通过鼠标点击检查方法/类的实现.这一切都应该使IDE中的代码测试比JShell更快?
我错过了什么?有人可以给我一些用例,使用JShell比使用IDE更好吗?你们是如何使用JShell的?
尽管我真的鼓励您继续阅读Java Shell的动机和目标。
但是,只要稍作动手就可以回答您的问题,实际上,我很高兴知道在IDE上尝试该操作所花费的时间和遵循的步骤。所以,只有少数几个,您可以开始:-
1.最近,我知道Java 9引入了用于集合的重载的“便利工厂方法”,然后对它们的作用以及如何使用它们感到好奇。
脚步
-> Type 'jshell' on command prompt (assuming JAVA_HOME is set to JDK9's bin)
-> Type 'List.o'
-> Press Tab (completes the `of`)
-> Tab displays all signatures
-> Tab starts reading the documentation from first
Run Code Online (Sandbox Code Playgroud)
2.如何保留代码的语法?如果您在上图中注意到,的初始化List甚至都不必关心存储在其中的变量,终止分号等。
3.您多快能发现要实现的某些代码引发的异常?因此,在这里的一个用例中,我想创建一个MapString(水果的名称)到String(它们的颜色),然后在以后的阶段中添加更多水果,并忽略那些我不确定的颜色。然后最终获得所有红色水果的清单。当然,由于这些天我在学习Java 9,因此我将尝试使用与Java9一样多的API。
在尝试在IDE中添加所有(^^)代码的同时,您自己可以注意到最终需要花费时间来实现不可变映射静态工厂方法的所有这些特征。
PS:
Robert 在这里介绍了Jshell,它详细说明了JShell如何有效。
在完成上述所有操作时,请记住,成为IDE并不是Jshell的目标。
通常,所有这些操作都会绕过“代码->编译->执行”循环的编译阶段,对语言进行简单的实验。读取评估打印循环
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |