expand<S>方法

Stream<S> expand<S>(
  1. Iterable<S> convert(
    1. T element
    )
)

将此流中的每个元素转换为一系列元素。

返回一个新的流,其中每个元素都被替换为零个或多个数据事件。事件值通过带有元素参数的convert调用提供,该可迭代对象中的元素按迭代顺序发出。如果调用convert抛出异常,或者返回值的迭代抛出异常,则错误将在返回流上发出,并且此流的该元素的迭代结束。

直接将此流的错误事件和完成事件转发到返回的流。

如果此流是广播流,则返回的流也是广播流。如果对广播流进行了多次监听,则每个订阅将单独调用convert并展开事件。

实现

Stream<S> expand<S>(Iterable<S> convert(T element)) {
  return new _ExpandStream<T, S>(this, convert);
}