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
输入为 nullnull空指针异常

更新时间: 2022-03-01

995次浏览

开启您的职业

完成该课程获得认证

立即开始
广告