【问题标题】:Why Collectors needs to be imported seperately from "java.util.*" package? [duplicate]为什么需要从“java.util.*”包中单独导入收集器? [复制]
【发布时间】:2020-11-13 11:22:44
【问题描述】:

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

【问题讨论】:

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

标签: java java-8 java-stream


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2020-02-02
    • 2013-09-18
    • 2014-06-25
    • 2012-02-01
    相关资源
    最近更新 更多