在Java 9的JShell中如何显示不同的列表命令?

2023年 9月 3日 59.3k 0

在Java 9的JShell中如何显示不同的列表命令?

JShell在 Java 9 中引入,是一个命令行工具,允许我们输入简单的语句、表达式、方法和没有ma​​in()方法的类。

当我们可以在JShell中输入代码时,代码已经分配了一个唯一ID。该 ID 从 1 开始,并随着 JShell 中输入的每个命令而递增。对于启动时加载的库也是如此。对于每个导入,都分配了一个唯一 ID。它以 $1 开头,并随着加载的每个代码而递增($2、$3 等)。有一个内部命令可以列出会话期间加载和输入的所有代码,然后使用“/list”命令。

/list
/list [ID]
/list [Code_Name]
/list -start
/list -all

登录后复制

  • /list:此命令显示当前会话中输入的所有活动代码(不包括 JShell 启动时加载的代码)。
  • /list [ID]: 此命令显示与输入的 ID 对应的源代码。
  • /list [Code_Name]: 显示源代码与输入的名称相对应。
  • /list -start: 该命令显示 JShell 启动时加载的所有代码。启动会话时,将显示默认预加载的所有导入,并且可能还显示您自己想要预加载的代码(这一点将在第三部分的自定义 JShell 启动一章中进行解释)。
  • /list -all:此命令列出在 JShell 会话期间输入的所有活动、非活动、错误和预加载代码。

在以下代码中代码片段中,我们可以使用“/list -all”命令列出所有输入的导入、表达式等。

jshell> /imports
| import java.io.*
| import java.math.*
| import java.net.*
| import java.nio.file.*
| import java.util.*
| import java.util.concurrent.*
| import java.util.function.*
| import java.util.prefs.*
| import java.util.regex.*
| import java.util.stream.*
jshell> LocalDate localDate = LocalDate.of(2020, 04, 10)
| Error:
| cannot find symbol
| symbol: class LocalDate
| LocalDate localDate = LocalDate.of(2020, 04, 10);
| ^-------^
| Error:
| cannot find symbol
| symbol: variable LocalDate
| LocalDate localDate = LocalDate.of(2020, 04, 10);
| ^-------^

jshell> int x = 10
x ==> 10

jshell> public enum Operate {
...> ADDITION,
...> DIVISION;
...> }
| created enum Operate

jshell> /list -all

s1 : import java.io.*;
s2 : import java.math.*;
s3 : import java.net.*;
s4 : import java.nio.file.*;
s5 : import java.util.*;
s6 : import java.util.concurrent.*;
s7 : import java.util.function.*;
s8 : import java.util.prefs.*;
s9 : import java.util.regex.*;
s10 : import java.util.stream.*;
e1 : LocalDate localDate = LocalDate.of(2020, 04, 10);
1 : int x = 10;
2 : public enum Operate {
ADDITION,
DIVISION;
}

登录后复制

在下面的代码片段中,我们可以命名一个变量、一个方法,甚至是一个具有相同名称的类型。然后,我们可以使用“/list”命令来显示该名称的不同出现次数以及相应的类型。

jshell> int x = 10
x ==> 10

jshell> public int x(int y) {
...> return y;
...> }
| created method x(int)

jshell> public long x(long y, long z) {
...> return y + z;
...> }
| created method x(long,long)

jshell> /list x

1 : int x = 10;
2 : public int x(int y) {
return y;
}
3 : public long x(long y, long z) {
return y + z;
}

登录后复制

以上就是在Java 9的JShell中如何显示不同的列表命令?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论