Spliterators 提供了estimateSize()方法。
仔细阅读了 Javadoc 后,我仍然不确定它的解释。
这些解释哪一个是正确的,如果不正确,为什么?
- estimateSize() 永远不会返回负值
- estimateSize() 仅对于空流始终返回 0
- estimateSize() 始终返回 1 和 Long.MAX_VALUE 之间的值(对于已知大小、估计大小或计算大小)
如果流具有无限大小或未知大小或者无法计算确切大小,则estimateSize() 始终返回 Long.MAX_VALUE。-
请不要将estimateSize()与getExactSizeIfKnown()混淆。
编辑:
也许我的问题需要澄清:
a)是否有可能estimateSize()返回0但流不为空?
b)estimateSize()是否有可能返回一个更大的值
大于 0 但流为空?