提问人:Stammenator 提问时间:5/23/2023 最后编辑:Stammenator 更新时间:5/23/2023 访问量:162
从 Kotlin 调用 Java 方法时,如何安全地处理 null 值?
How can I safely handle null values when calling Java methods from Kotlin?
问:
当与没有 null 安全的 Java 库连接时,如何在 Kotlin 中处理 null 安全?
通过研究,我发现这些东西“有效”,但并不安全。
将 Kotlin 的非 null 类型与返回 null 的 Java 方法一起使用:
将运算符与返回 null 的 Java 方法一起使用:
!!
假设 Java 布尔值永远不会为 null:在 Java 中,可以是 、 或 ,但在 Kotlin 中,只能是 或 。
Boolean
true
false
null
Boolean
true
false
在这些示例中,我的 Kotlin 编译器不会显示错误,因为它没有足够的关于 Java 方法是否可以返回 null 的信息。
答:
5赞
Tenfour04
5/23/2023
#1
像在 Java 中一样对待它。假设该值可能为 null,除非从中获取该值的方法的文档声明它不会为 null。如果它没有声明它不会返回 null,则它是可为 null 的。将其完全视为可为 null 的 Kotlin 变量。因此,请根据具体情况使用 、 、 或。?.
?:
if (foo != null)
.orEmpty()
Java 还具有不可为 null 的 、 、 、 、 和 。如果看到小写类型,则知道它不可为 null。boolean
long
int
char
byte
double
float
评论