根据这部分文档,Reactor 应该支持 null-safety: https ://projectreactor.io/docs/core/release/reference/#kotlin-null-safety
尽管如此,使用map
我可以轻松地跳过空值检查:
internal class NullabilityTest {
@Test
fun nullability() {
val userWithMap: Mono<String> = UserRepo.findUser(5)
.map { it?.getName() }//this returns String?, it should not compile
}
}
class User {
fun getName() = "Mike"
}
class UserRepo {
companion object {
fun findUser(id: Int): Mono<User?> {
return Mono.empty()
}
}
}
如本例所示,String?
分配给Mono<String>
. 在这种情况下收到编译器故障会很棒。它是反应堆中的错误还是从未实施过的东西?
我正在使用:反应堆 3.2.12