什么是 Kotlin 双键 (!!) 运算符?

在 Kotlin 中,“!!” 是一个称为双键运算符的运算符。该运算符也称为“非空断言运算符”。该运算符用于将任何值转换为非 NULL 类型的值,如果对应的值为 NULL,则抛出异常。在下面的示例中,我们将看到如何使用这个双键运算符。

示例 1

在这个例子中,我们将考虑一个变量“name”,作为一个程序员,我们想要在“name”的值为 NULL 时抛出一个 NULL 指针异常。现在,执行以下代码

fun main(args: Array<String>) {
   var name: String?
   name = null
   println(name)
}
输出结果

它将生成以下输出 -

null

这段代码实际上并没有解决我们的需求陈述。只要“name”的值为 NULL,我们就想抛出一个 NULL 指针异常。让我们在双键运算符 (!!) 的帮助下修改前面的示例。

示例 2

fun main(args: Array<String>) {
   var name: String?
   name = null

   //没有使用任何东西来解决重载歧义异常
   println(name!! is Nothing?)
}
输出结果

它会在运行时抛出一个 NULL 指针异常 -

Exception in thread "main" java.lang.NullPointerException
at MainKt.main(main.kt:6)