IntStream.range(0, 5)
将产生5个项目的流(count()
返回5)。但是,当请求降序范围内的流时,
IntStream.range(5, 0)
我得到一个空的流。这是由于range(start, end)
方法中的限制:
if (start >= end) {
return empty();
}
此限制的原因是什么? Javadoc方法在这一点上没有涉及。
IMO这是不必要的限制:将功能惯用法用于升序范围,在所有其他情况下都是必须的。
这是一个问题,问题在于设计师选择该限制的可能原因是什么,而不是如何解决该限制。