设计决策:IntStream.range()仅适用于升序

时间:2019-03-06 09:22:00

标签: java java-8

IntStream.range(0, 5)

将产生5个项目的流(count()返回5)。但是,当请求降序范围内的流时,

IntStream.range(5, 0)

我得到一个空的流。这是由于range(start, end)方法中的限制:

if (start >= end) {
    return empty();
}

此限制的原因是什么? Javadoc方法在这一点上没有涉及。

IMO这是不必要的限制:将功能惯用法用于升序范围,在所有其他情况下都是必须的。

这是一个问题,问题在于设计师选择该限制的可能原因是什么,而不是如何解决该限制。

0 个答案:

没有答案
相关问题