美文网首页
Kotlin如何预防空指针和解决“!!”

Kotlin如何预防空指针和解决“!!”

作者: Tongsr | 来源:发表于2021-07-22 12:09 被阅读0次
    1. 用Val而不是Var
      在 Kotlin 中 val 代表只读,var 代表可变。建议尽可能多的使用 val。val 是线程安全的,并且不需要担心 null 的问题。只需要注意 val 在某些情况下也是可变的就行了

    2. 使用lateinin
      有些情况我们不能使用 val,比如,在 Android 中某些属性需要在 onCreate() 方法中初始化。对于这种情况,Kotlin 提供了 lateinit 关键字

    3. 使用let函数
      配合let和?能优雅的进行判空处理

    4. 创建全局函数来处理更复杂的情况
      遇到一些复杂的情况不能使用let函数的时候,创建一个全局的函数来判空

      fun <T1, T2> ifNotNull(value1: T1?, value2: T2?, bothNotNull: (T1, T2) -> (Unit)) {
         if (value1 != null && value2 != null) {
             bothNotNull(value1, value2)
         }
      }
      
    5. 使用Elvis运算符
      使用?:语法糖来代替if else

    6. 自定义崩溃信息
      如果我们使用 !!,那么当这个变量为 null 时,只会简单的抛出一个KotlinNullPointerException。这时我们可以用 requireNotNull 或 checkNotNull 来附带异常信息,方便我们调试

    相关文章

      网友评论

          本文标题:Kotlin如何预防空指针和解决“!!”

          本文链接:https://www.haomeiwen.com/subject/wsfcbqtx.html