JShellIntroduced in Java 9, it is a command line tool that allows us to enter simple statements, expressions, methods and classes without main() methods.
When we can enter the code in JShell, the code has been assigned a unique ID. The ID starts at 1 and increments with each command entered in JShell. The same is true for libraries loaded on startup. For each import, a unique ID is assigned. It starts with $1 and increments with each code loaded ($2, $3, etc.). There is an internal command to list all code loaded and entered during a session, then use the "/list" command.
<strong>/list /list [ID] /list [Code_Name] /list -start /list -all</strong>
In the following code snippet, we can use the "/list -all" command to list all input imports, expressions, etc.
<strong>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; }</strong>
In the code snippet below, we can name a variable, a method, or even a type with the same name. We can then use the "/list" command to display the different occurrences of the name and the corresponding types.
<strong>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; }</strong>
The above is the detailed content of How to display different list commands in JShell in Java 9?. For more information, please follow other related articles on the PHP Chinese website!