从Kotlin调用Java方法时,如何安全地处理空值?

fjnneemd  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(124)

当与没有null安全的Java库交互时,如何在Kotlin中处理null安全?
通过研究,这里有一些东西我发现“工作”,但并不安全。
1.使用Kotlin的非null类型和返回null的Java方法:
1.将!!运算符与返回null的Java方法一起使用:
1.假设一个Java Boolean永远不为null:在Java中,Boolean可以是truefalsenull,但在Kotlin中,Boolean只能是truefalse
在这些示例中,我的Kotlin编译器不会显示错误,因为它没有足够的信息来确定Java方法是否可以返回null。

cbjzeqam

cbjzeqam1#

就像在Java中一样。假设该值可能为null,除非从中获取该值的方法的文档声明该值不会为null。如果它没有声明不返回null,则它是可空的。将其完全视为可空的Kotlin变量。因此,根据具体情况使用?.?:if (foo != null).orEmpty()
Java还有不可空的booleanlongintcharbytedoublefloat。如果你看到小写的类型,你知道它是不可空的。

相关问题