首页 > 解决方案 > java8 中 java.util.stream 包的不完整文档

问题描述

在源代码中,显然有一个AbstractPipeline实现BaseStream接口的类,但这没有记录:

https://docs.oracle.com/javase/8/docs/api/java/util/stream/BaseStream.html

另外,抽象类ReferencePipeline实现了Stream接口,没有提到: https ://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html

此外,在包摘要中根本没有提到这些抽象类: https ://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html

鉴于抽象类及其与接口的关系在其他包中明确记录,例如java.util

https://docs.oracle.com/javase/8/docs/api/java/util/package-summary.html

我们可以说这是 java8 流文档的错误吗?

标签: java

解决方案


您提到的两个类都具有包级访问权限。这意味着它们不是公共类,实际上是实现细节,而不是公共 API 的一部分。即使您知道这些类,也不能(轻松)在代码中直接使用它们。

这不是一个错误,而是一个深思熟虑的选择。许多基类和接口具有包级别访问权限,因为它们在整个包(包括java.util)中使用。除非您深入研究特定 JRE 实现的源代码,否则您不会了解它们。


推荐阅读