[英]Kotlin loses nullability information when removing redudant SAM constructor from java
我在我的一个项目中使用 SendBird。 function 之一用于连接到 sdk:
SendBird.connect(id, token, object : SendBird.ConnectHandler {
override fun onConnected(user: User?, e: SendBirdException?) {
if (e != null) {
// handle error
} else {
// handle success
}
}
})
Kotlin 提示我可以将其转换为 lambda:
SendBird.connect(userId.toString(), accessToken) { user, e ->
if (e != null) {
// handle error
} else {
// handle success
}
}
问题是 lambda 内部的user
是User!
而真正的类型是User?
有时会导致崩溃。
SendBird android sdk 是用 java 编写的,没有任何东西用@Nullable
/ @NonNull
正确注释。 在保持可空类型User?
?
明确指定类型
SendBird.connect(userId.toString(), accessToken) { user: User?, e ->
if (e != null) {
// handle error
} else {
// handle success
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.