Kotlin中的“!!”和“?”有什么区别?
在本文中,我们将举一个示例并演示 Kotlin 中 (!!) 和 (?) 的区别。
示例——Kotlin中的“!!”和“?”运算符
Kotlin 提供了一个奇妙的运算符来检查 NULL 指针异常。每当变量为 NULL 时,它都会抛出一个 NULL 指针异常而不是破坏编程逻辑。
在以下示例中,“test” 的值为 NULL。因此,Kotlin 将抛出一个 NULL 指针异常而不是破坏逻辑。该示例显示了“!!”和“?”运算符的不同用法。
fun main(args: Array<String>) { val nullValue: String ?=null // it will print null println("The value is ->"+nullValue?.length) // it will throw the exception println(nullValue!!.length) }
输出
执行后,将产生以下输出——
The value is ->null Exception in thread "main" java.lang.NullPointerException at MainKt.main(main.kt:8)
下表总结了区别——
输入 | <<Val>>?.length | <<Val>>!!.length |
输入为 null | null | 空指针异常 |
广告