Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在使用Mono<;可选<;T>&燃气轮机;气馁?_Java_Reactive Programming_Project Reactor - Fatal编程技术网

Java 正在使用Mono<;可选<;T>&燃气轮机;气馁?

Java 正在使用Mono<;可选<;T>&燃气轮机;气馁?,java,reactive-programming,project-reactor,Java,Reactive Programming,Project Reactor,我正在编写一个广泛使用反应式编程的web服务器。我注意到我多次忘记检查Mono是否为空。我使用的是WebFlux,因此它将一个空的Mono转换为200OK响应,这使得检测这些错误非常困难 减少这些错误的一种方法是使用Mono而不是Mono.empty()来明确缺少值 这感觉非常类似于Optional和null辩论,它甚至使用相同的类。虽然有很多人赞成使用可选的,而且它得到了图书馆的广泛支持,但我还没有看到任何人使用Mono 使用Mono有什么缺点吗 可靠地处理缺少值的情况的更好方法是什么?使用M

我正在编写一个广泛使用反应式编程的web服务器。我注意到我多次忘记检查
Mono
是否为空。我使用的是WebFlux,因此它将一个空的
Mono
转换为
200OK
响应,这使得检测这些错误非常困难

减少这些错误的一种方法是使用
Mono
而不是
Mono.empty()
来明确缺少值

这感觉非常类似于
Optional
null
辩论,它甚至使用相同的类。虽然有很多人赞成使用
可选的
,而且它得到了图书馆的广泛支持,但我还没有看到任何人使用
Mono

使用
Mono
有什么缺点吗

可靠地处理缺少值的情况的更好方法是什么?

使用
Mono
而不是
Mono
,您将自己置于接收空
Mono
的棘手境地,但假设它总是有一个
可选
的实例,因此它没有真正的帮助,只会增加不必要的分配

有一个方便的操作符,如果您希望使用非空的
Mono
,它会抛出并出错,但得到的却是空的。

它看起来像
可选的
:)