webFlux 获取List 指定名称对象的值
时间: 2023-10-05 22:13:47 浏览: 68
django模板获取list中指定索引的值方式
可以使用 WebFlux 的 `Mono` 和 `Flux` 类来实现。假设你有一个名为 `list` 的 `List` 对象,其中包含多个对象,每个对象都有一个名为 `name` 的属性和一个名为 `value` 的属性,你可以使用以下代码来获取名为 `targetName` 的对象的 `value` 值:
```java
Mono<Object> resultMono = Flux.fromIterable(list)
.filter(obj -> obj.getName().equals(targetName))
.next()
.map(obj -> obj.getValue())
.switchIfEmpty(Mono.error(new RuntimeException("没有找到名为 " + targetName + " 的对象")));
resultMono.subscribe(value -> {
// 处理获取到的 value 值
}, error -> {
// 处理错误
});
```
这里使用 `Flux.fromIterable` 方法将 `list` 转换为一个 `Flux`,然后使用 `filter` 方法过滤出名为 `targetName` 的对象,使用 `next` 方法获取第一个匹配的对象,然后使用 `map` 方法将该对象的 `value` 属性转换为一个 `Mono`,最后使用 `switchIfEmpty` 方法在未找到匹配的对象时返回一个包含错误信息的 `Mono`。使用 `subscribe` 方法订阅 `resultMono` 可以获取到获取到的 `value` 值或者错误信息。
阅读全文