【发布时间】:2018-06-06 09:00:57
【问题描述】:
考虑以下代码:
示例
fun main(args: Array<String>) {
maybeWriteMessage()
}
fun maybeWriteMessage(message: String? = null) {
writeMessage(message!!)
}
fun writeMessage(message: String) {
println("Hello World")
}
输出
线程“main”中的异常 kotlin.KotlinNullPointerException at com.series0ne.ApplicationKt.maybeWriteMessage(Application.kt:8) 在 com.series0ne.ApplicationKt.maybeWriteMessage$default(Application.kt:7) 在 com.series0ne.ApplicationKt.main(Application.kt:4)
这是因为我将message!!(null,该死!)传递给一个不可为空的参数,但是该参数永远不会被访问。
问题
为什么即使没有访问空引用,Kotlin 也会强制抛出KotlinNullPointerException?
【问题讨论】:
-
您通过取消引用来访问它:
!!。
标签: kotlin