为什么收藏家需要与“进口”分开进口;java.util.*";包裹

为什么收藏家需要与“进口”分开进口;java.util.*";包裹,java,java-8,java-stream,Java,Java 8,Java Stream,要使用收集器类方法,如collectors.toList(),我们需要导入java.util.stream.collectors; 我发现,在某些地方,收藏家是一个类,而不是一个包。但我仍然不明白,即使收集器是一个类,它仍然是java.util.*的一部分。那么为什么它需要单独导入。当您导入java.util.stream包时,您只导入指定目录级别的类。如果要导入低于此级别的类,还需要导入该包目录。import调用不会递归地从所有目录和以下目录导入所有内容,它只导入指定级别的请求。它是java.

要使用收集器类方法,如collectors.toList(),我们需要导入java.util.stream.collectors;
我发现,在某些地方,收藏家是一个类,而不是一个包。但我仍然不明白,即使收集器是一个类,它仍然是java.util.*的一部分。那么为什么它需要单独导入。

当您导入
java.util.stream
包时,您只导入指定目录级别的类。如果要导入低于此级别的类,还需要导入该包目录。import调用不会递归地从所有目录和以下目录导入所有内容,它只导入指定级别的请求。

它是
java.util.stream.*
的一部分。因为正如您所说,它是
java.util.stream
的一部分,而不是
java.util
import java.util.*
表示“直接导入
java.util
包下的所有类”。它不是递归的,Java中的包不是嵌套的,即使它们的名字暗示了这一点。从技术角度来看,
java.util.stream
java.util
的连接方式与
java.nio
的连接方式一样:根本不。仅仅因为它们共享一个前缀并不意味着其中一个“包含”另一个。