Java 我们希望合并字段值;结果值为;将结果生成为地图
我们希望合并字段值使用结果值将结果生成为地图。 当结果包含null时会出现一个问题。我想将null更改为“”。 我不确定是不是错了。我想知道该怎么办。请我要感谢那些首先给我答案的人Java 我们希望合并字段值;结果值为;将结果生成为地图,java,spring,rx-java,reactive,Java,Spring,Rx Java,Reactive,我们希望合并字段值使用结果值将结果生成为地图。 当结果包含null时会出现一个问题。我想将null更改为“”。 我不确定是不是错了。我想知道该怎么办。请我要感谢那些首先给我答案的人 Set<Object> fields = new HashSet<>(); fields.add("id"); fields.add("name"); // this is null value Mono<List<Object>> result = redis
Set<Object> fields = new HashSet<>();
fields.add("id");
fields.add("name"); // this is null value
Mono<List<Object>> result = redisRT.opsForHash().multiGet("key:abc", fields);
Mono<Map<Object, Object>> mapMono = result.flatMapMany(Flux::fromIterable)
.zipWith(Flux.fromIterable(fields))
.collectMap(Tuple2::getT2, Tuple2::getT1, TreeMap::new);
mapMono.subscribe(System.out::println);
要将结果转换为
字符串
,我建议使用空友好型:
在这种情况下,如果
myObject
为空,您将得到”
。数据如下:字段=[“id”,“name”]/result=[“1”,空]在fromIterable或flatMapMany中的源后面,当存在空元素时,似乎会引发异常。我的猜测是如何使用defaultIfEmpty或switchIfEmpty以及如何使用OneRorResume,但我不知道该走到哪里。帮助我。或者你可以在调用上述方法之前尝试更改null。但我找不到一个好地方开始编辑。
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.NullPointerException: The iterator returned a null value
Caused by: java.lang.NullPointerException: The iterator returned a null value
at java.util.Objects.requireNonNull(Objects.java:228)
at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:230)
at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:201)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:143)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:237)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:139)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:63)
....
Objects.toString(myObject,"")