我正在用Android Studio将Java转换为Kotlin.我在实例变量后获得双重爆炸.什么是双重爆炸,更重要的是这在哪里记录?
mMap!!.addMarker(MarkerOptions().position(london).title("Marker in London"))
hotkey.. 169
这是不安全的可空类型(T?
)转换为非可空类型(T
).NullPointerException
如果值是,它将抛出null
.
这里记录了Kotlin的零安全手段.
这是不安全的可空类型(T?
)转换为非可空类型(T
).NullPointerException
如果值是,它将抛出null
.
这里记录了Kotlin的零安全手段.
这是一个让事情更清晰的例子.说你有这个功能
fun main(args: Array) { var email: String email = null println(email) }
这将产生以下编译错误.
Null can not be a value of a non-null type String
现在,您可以通过向String
类型添加问号以使其可为空来防止这种情况发生.
所以我们有
fun main(args: Array) { var email: String? email = null println(email) }
这产生了结果
null
现在,如果我们希望函数在email的值为null时抛出异常,我们可以在电子邮件末尾添加两个惊叹号.像这样
fun main(args: Array) { var email: String? email = null println(email!!) }
这将抛出一个 KotlinNullPointerException