当前位置: 首页>后端>正文

Kotlin中 - 和 !! 的区别,-和--使用

Kotlin中 和 !! 的区别,?和?:使用

!!是强制执行
? 对象为空不执行

在 Kotlin 编程语言中,!!? 是与可空性(nullability)相关的操作符,它们用于处理可能为 null变量

  1. !! 操作符:非空断言操作符
    当你对一个可空类型的变量使用 !! 操作符时,你是在告诉编译器这个变量在此处一定不会为 null。如果变量确实为 null,那么使用 !! 会导致程序抛出一个 NullPointerException。这是一种危险的操作,因为它可能会引入运行时错误,所以应该谨慎使用。

    例如:

    val name: String= null
    println(name!!.length) // 这会抛出 NullPointerException
    
  2. ? 操作符:安全调用操作符
    ? 用在变量类型声明时表示变量可以持有 null 值。而在变量后面使用 ? 表示安全调用操作符,它允许你在不确定一个变量是否为 null 的情况下,安全地调用其方法或访问其属性。如果变量为 null,那么系统不会执行后续的方法调用或属性访问,而是直接返回 null

    例如:

    val name: String= null
    println(name?.length) // 这不会抛出异常,输出为 null
    

综上所述,!! 是一种断言,用于告诉编译器变量不可能为 null;而 ? 是一种安全检查,允许你在可能为 null 的变量上进行操作而不会抛出异常。在实际编程中,建议尽量避免使用 !!,以减少潜在的运行时错误。


https://www.xamrdz.com/backend/3h21931816.html

相关文章: