JShell 中除了自动导入 java.lang 包之外还有什么?

问题描述

我观察到在 JShell 会话中,不仅包“java.lang”,还有不少其他包(在 Java 类文件中不会自动导入,例如 LinkedList、{{1 }} 和其他几种类型)似乎是认导入的。

我想知道,认情况下,在 JShell 会话中还有哪些其他包可用,以及是什么促使这种区别于普通类文件

我在 JEP 222 上找不到任何内容,无论是自动/隐式导入的动机,还是实际导入内容的文档。

解决方法

您可以运行 /import 来查找:

jshell> /import
|    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.*

https://docs.oracle.com/en/java/javase/11/tools/jshell.html