gpt4 book ai didi

java - 如何将 List> 组合成一个大字符串?

转载 作者:行者123 更新时间:2023-12-02 01:27:30 25 4
gpt4 key购买 nike

我创建了一个字符串单声道列表 List<Mono<String>> myList 。现在我需要将它们连接成一个大字符串。

当我初始化StringBuilder时并异步更新它,可能会返回空行。

//method body....

StringBuilder builder = new StringBuilder();

myList.forEach {
mono ->
mono.map{ str -> builder.append(str)}
}

return builder.toString() //<- is ""

如何让构建器等待单声道?

最佳答案

最好的方法是将 Monos 列表转换为 Flux,然后减少 Flux 以得到一个包含所有子字符串的字符串。然后你就拥有了仍然可以以异步方式使用的 Mono。(如果你想与项目 react 器保持异步范例,你应该始终使用 Mono/Flux)

示例:

    List<Mono<String>> listOfMonosWithString = Arrays.asList(Mono.just("a"), Mono.just("b"), Mono.just("c"));
Flux<String> mergedMonos = Flux.fromIterable(listOfMonosWithString)
.flatMapSequential(Function.identity());

mergedMonos
.reduce(String::concat)
.doOnNext(System.out::println)
.subscribe();

关于java - 如何将 List<Mono<String>> 组合成一个大字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56682485/

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