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

JShell 是Java 9中引入的,它是一个命令行工具,它使我们可以输入简单的语句,表达式,方法和类而无需main()方法。

当我们可以在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中显示不同的列表命令? 的全部内容, 来源链接: utcz.com/z/334911.html

回到顶部