Kotlin 中空值检查的最佳方法


在任何编程范式中,检查“空值安全”以防止运行时错误是强制性的。在本文中,我们将了解在Kotlin中检查“空值安全”的不同方法。

示例 - 使用 if…else

在大多数编程语言中,我们都有“if”关键字来检查条件。在 Kotlin 中,我们也可以使用“if-else”语句来检查变量的空值安全。

fun main() {
   val name="TutorialsPoint.com"
   //null check
   if (name != null) {
      println(name)
   }
   else{
      println("Please enter a value")
   }
}

输出

在上面的程序中,编译器将检查变量“name”的值。如果值为 NULL,则它将打印“请输入值”,否则它将打印“TutorialsPoint.com”。

对于给定的示例,输出将为“TutorialsPoint.com”。

TutorialsPoint.com

示例 - 使用“?.let”运算符

您可以在 Kotlin 中使用“?.let”运算符来检查变量的值是否为 NULL。只有在我们确定引用的是一个不可为空的值时才能使用它。以下示例演示了此运算符的工作方式。当我们使用 'var' 变量时,这是最佳方法。

fun main() {
   var name="TutorialsPoint.com"
   // NULL check
   name ?.let{
      println(name)
   }
}

上述表达式等价于 -

if(name!=null){
   println(name)
}

输出

在此示例中,只有当变量 'name' 不等于 'null' 时,才会执行 let()

TutorialsPoint.com

示例 - Elvis 运算符

当我们在存在 NULL 引用时需要返回一些默认值时,最好使用 Elvis 运算符。Elvis 运算符在许多编程语言中非常常见。这是一个二元表达式,当表达式的值为 True 时返回第一个操作数,当表达式的值为 False 时返回第二个操作数。

在下面的示例中,我们将了解如何在 Kotlin 中使用此 Elvis 运算符。

fun main(args: Array<String>) {
   val x: String? = null
   val y: String = x ?: "TutorialsPoint.com"
   // it will check whether the value of x is NULL or not.
   // If NULL, then it will return "y", else "x"
   println(x ?: y)
}

输出

TutorialsPoint.com

更新于: 2023年10月4日

25K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告