问题标签 [jshell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1444 浏览

java - 无法从 Mac 终端执行 jshell

我目前在我的 Mac Sierra 上使用 java 1.8。

现在我想运行“jshell”来直接从终端执行简单的 java 命令。但我最终得到以下错误消息 -

为了避免此错误消息,我需要采取什么解决方法?

0 投票
1 回答
4619 浏览

java - 为什么我不能导入 sun 包?

我从https://jdk9.java.net下载了 java 9并将其安装在我的 Windows 10 机器上。
Java 9 有 jshell,我可以用它来评估和学习 java 编程。
一些例子导入sun包,比如sun.audio.*etc。但是,在jshell中,每次我尝试导入任何sun包时,它都会说sun包不存在。

某些应用程序不适用于 java 9。也许存在不兼容性?

0 投票
1 回答
120 浏览

jshell - jshell 是否适用于 jmod 文件?

我遵循了一些示例,并创建了一个简单的 jmod。我将 jmod 放在我的 jmod 文件夹中,而不是放在 java jmods 文件夹中。现在,我读到 jshell 可以导出模块,但我确实明白。jshell 可以与 jmod 一起使用吗?举个例子?在 java jmods 文件夹中有很多 jmod 文件,但我不知道如何在 jshell 会话中使用它。

0 投票
2 回答
519 浏览

java - JDK 9 jshell printf() 特殊处理?

我一直在研究 JDK9,我注意到在 jshell 中你不必在printf()前加上System.out.printf()即你可以写printf("test")但你不能写println("测试”)

在此处输入图像描述

这只是 jshell 的一个特性吗?如何在应用程序中实现相同的行为?

以下是最接近的:

0 投票
2 回答
245 浏览

java - JShell 可能从 double 到 float 的有损转换

我正在尝试 Java9 功能 JShell。我无法设置浮点值:

0 投票
4 回答
2852 浏览

java - Java 泛型:为什么这个输出可能?

我有这堂课:

我想得到这些输出:

  1. 第一条System.out.println()语句的输出:

    /li>
  2. 第二条System.out.println()语句的输出:

    /li>

为什么我得到第一个输出?不是也有演员表吗?为什么我在第二个输出中得到异常?

PS:我使用Java 9;我用 JShell 试了一下,两个输出都出现异常。然后我用 IntelliJ IDE 进行了尝试,得到了第一个输出,但第二个输出异常。

0 投票
2 回答
245 浏览

java - JShell/Java 9 中的相等是怎么回事?

我一直在使用 JShell 来测试它,今天我遇到了相当有趣的行为。

我首先想知道这是否是 Java 9 的一个特性,我通过使用 Java 9 编译和运行这个程序来检查它

有趣的是我得到了

作为我的输出也是如此。这里发生了什么?为什么彼此相等,为什么是a真的?b"A" == "A"

0 投票
5 回答
3509 浏览

java - jshell中的多行粘贴

我正在尝试 jshell,但找不到粘贴多行表达式的选项。甚至可以在 jshell 中粘贴多行。类似于 scala 提供的paste mode.

0 投票
2 回答
708 浏览

java - JShell - 如何在不替换此类的情况下向现有类添加方法?

tl; dr:如何在不替换此类的情况下向现有类添加方法?

说明

当我在 JShell 中运行以下命令时:

打印以下输出:

再次运行此命令会给出以下输出:

让我们用一种方法创建类,如下所示:

值得一提的是,输出与之前的类覆盖略有不同:

运行testMethod1成功结束,并In testMethod1在控制台打印。

现在我想在TestClass不丢失的情况下将新方法添加到现有的testMethod1. 所以我运行以下代码段:

...并且testMethod1丢失了,因为整体TestClass已被替换。

如何在不覆盖现有类的情况下向现有类添加新方法?如果我写了 10 种方法怎么办?我是否应该在要添加到类的新方法旁边写下现有方法?JShell 不应该以警告的形式提示用户要替换的类吗?

任何提示或帮助表示赞赏。

0 投票
6 回答
18416 浏览

java-9 - 如何在 jshell java 9 中导入外部库?

我试图理解 jshell 并摸索着导入外部库。截至目前,我看不到任何建议/解决方案。

有人可以让我知道是否已经解决了这个问题。