如何在Java 9中重置JShell会话?

Java 9引入了JShell  for Java,它使我们能够评估代码段,如声明语句表达式

在JShell会话期间,我们需要重置它而不关闭 重新打开 JShell,然后可以使用内部命令:“ / reset”。通过使用此命令,当前会话期间输入的代码已被擦除。当我们要测试新类,创建新变量等同时保留先前使用的名称时,它可能会很有用。

在下面的代码段中,我们创建了变量x,y和str。我们可以使用“ / list” 命令查看所有输入的代码段。之后,我们可以应用“ / reset”命令来重置当前会话。

jshell> int a = 25
a ==> 25

jshell> double y = 30
y ==> 30.0

jshell> String str = "Nhooo"
str ==> "Nhooo"

jshell> /list

1 : int a = 25;
2 : double y = 30;
3 : String str = "Nhooo";

jshell> /reset
| Resetting state.

jshell> /list

jshell> x
|  Error:
|  cannot find symbol
|    symbol: variable x
|  x
|  ^

jshell> str
|  Error:
|  cannot find symbol
|   symbol: variable str
|  str
|  ^-^

jshell> int x = 15
x ==> 15

jshell> String str = "reset"
str ==> "reset"

jshell> /list

  1 : int x = 15;
  2 : String str = "reset";