如何解决反应堆句柄运算符返回Object?
我想使用handle
运算符,但是它的结果不是我期望的类型,它总是Object
Mono.just("lol").handle((string,sink) -> {
if(!string.equals("lol")) {
sink.error(new RuntimeException("not lol!"));
} else {
sink.next(2);
}
}).doOnNext(myInt -> { // expecting myInt to be an integer but is Object
System.out.println(myInt);
});
如何获取识别类型的句柄(类似于map
或flatMap
识别返回类型的方法)?
我是否总是需要使用cast
运算符?
解决方法
使用泛型。
Mono.<String>just("lol").<Integer>handle((string,sink) -> {
if(!string.equals("lol")) {
sink.error(new RuntimeException("not lol!"));
} else {
sink.next(2);
}
}).doOnNext(myInt -> {
System.out.println(myInt);
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。