如何在Java 9的JShell中打印以前键入的代码段?
JShell是Java9中引入的官方Read-Evaluate-Print-Loop(REPL)。它提供了一个交互式外壳,可以快速进行原型设计,调试和学习Java和JavaAPI,而无需main()方法。
JShell中的“/list”命令会打印出该特定会话的所有先前键入的代码段,并带有一个称为代码段ID的唯一标识符。默认情况下,输出不包含任何仅包含可以显示的有效语句或表达式的代码段。我们需要查看所有先前键入的代码都包含错误,然后将-all参数传递给/list命令。
在下面的代码片段中,我们在JShell中创建了一些语句,例如expression,class,method等。
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> int x=20
x ==> 20
jshell> "Java 9"
$2 ==> "Java 9"
jshell> System.out.println($2)
Java 9
jshell> class Test {
...> }
| created class Test
jshell> void print() {
...> System.out.println("Nhooo");
...> }
| created method print()jshell> print()Nhooo
jshell> System.out.println(x)
20在下面的代码段中,我们可以使用“/list”命令查看所有先前键入的代码段。
jshell> /list
1 : int x=20;
2 : "Java 9"
3 : System.out.println($2)
4 : class Test {
}
5 : void print() {
System.out.println("Nhooo");
}
6 : print()7 : System.out.println(x)