gpt4 book ai didi

java - 识别当前正在处理的元素

转载 作者:行者123 更新时间:2023-12-02 10:36:21 26 4
gpt4 key购买 nike

我想知道如何识别当前正在处理数组中的哪个元素。例如我想打印以下内容:

e
1
Element1 consumed
e
2
Element2 consumed
e
3
Element2 consumed

请问如何修改下面的代码才能达到给定的结果。

代码:

public static void main(String[] args) {
Observable<String> stringObservable = Observable.just("e1", "e2", "e3");
stringObservable
.map(x->x.split(""))//return non-observable
.flatMap(y->Observable.fromArray(y)//return observable
.map(n->n))
.observeOn(Schedulers.io())
.blockingSubscribe(getObserver());
}

最佳答案

在分割源项目的内部序列上使用 doOnNextdoOnComplete:

public static void main(String[] args) {
Observable<String> stringObservable = Observable.just("e1", "e2", "e3");

stringObservable
.flatMap(x ->
Observable.fromArray(x.split(""))
.doOnNext(n ->
System.out.println(n)) // <-------------------- prints each split item
.map(n->n)
.doOnComplete(() ->
System.out.println(
"Element " + x + " consumed")) // <--------- end of processing of x
)
.observeOn(Schedulers.io())
.blockingSubscribe(getObserver());
}

关于java - 识别当前正在处理的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com