gpt4 book ai didi

java - 为什么以及如何使用 JShell?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:24:38 26 4
gpt4 key购买 nike

我看了几个 JShell 教程,但我仍然不明白最重要的部分:我为什么要使用 JShell?

甲骨文是这样说的:

"You can test individual statements, try out different variations of a method, and experiment with unfamiliar APIs within the JShell session".

是的,太棒了,但对于所有这些事情,我只需使用 IDE 即可。我明白,REPL 应该使代码评估更快。但是,使用 Sysout 在 IDE 中的虚拟 Hello World 项目中测试一段代码肯定不会更慢吗?

事实上,IDE 提供自动完成功能,及早检测错误,我可以通过单击鼠标检查方法/类的实现。这一切应该使在 IDE 中的代码测试比在 JShell 中更快?

我错过了什么?有人可以给我几个用例,其中使用 JShell 比使用 IDE 更好吗?你们如何使用 JShell?

最佳答案

虽然我真的会鼓励你继续阅读 The 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

enter image description here

2. 如何保持代码的语法?如果您在上图中注意到 List 的初始化甚至懒得关心存储它的变量、终止分号等。

3. 您能以多快的速度找出您将要执行的某段代码抛出的异常?所以,这里有一个用例,我想创建一个字符串(水果名称)到字符串(它们的颜色)的 Map,然后在后期向其中添加更多水果并忽略这些颜色我不确定。最后得到所有红色水果的 list 。当然,由于这些天我正在学习 Java 9,所以我会尝试尽可能多地使用 Java9 中的 API。

enter image description here

虽然您会尝试在您的 IDE 中添加所有这些 (^^) 代码,但您自己会注意到您最终将花费时间来实现 Immutable Map Static Factory Methods. 的所有这些特性。

附言:

  • 罗伯特有 presented Jshell here这是 JShell 如何有效的详细 View 。

  • 在执行上述所有操作时,请记住 Jshell 的目标不是成为 IDE。

  • 所有这些,一般来说,通过绕过“代码 -> 编译 -> 执行”循环的编译阶段,对一种语言进行简单的实验。

关于java - 为什么以及如何使用 JShell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com