美文网首页
Kotlin-空指针检查

Kotlin-空指针检查

作者: 在下陈小村 | 来源:发表于2021-03-20 13:18 被阅读0次

Kotlin搞空指针检查
现象:java存在问题,大量的崩溃是空指针异常。
原因:java的空指针异常是一种运行时异常,不会在编译过程中发现,所以难以避免
Kotlin的解决之道:搞了一个空指针检查。Kotlin默认所有的参数和变量不可为空。

//study 默认不能传空
fun doStudy(study: Study){
    study.readBooks()
    study.doHomework()
}
//这么写会直接报异常
doStudy(null)

怎么传入一个可为空的值,

fun doStudy(study: Study?){
    study.readBooks()
    study.doHomework()
}

这样study.readBooks()就报错了,因为study可能为null
解决的办法:?.,表示当study不为空的时候执行后面的方法。

fun doStudy(study: Study?){
    study?.readBooks()
    study?.doHomework()
}

那么我每次都要写?.来表示study不为空的时候再执行吗?
kotlin提供了一个let函数

study?.let { 
        it.readBooks()
        it.doHomework()
    }

如果我在函数的调用处已经判断过study不为空,我非常确定study不可能为空,那么可以使用!!.断言来表示

study!!.readBooks()

kotlin中的三目运算符的表现形式也变了,当?:左边的不为空的时候则执行左边的表达式,当左边的表达式为空,则用右边的来替换。

fun  test(){
    val t:String="sssssss"
    fun getTextLength(text:String?)=text?.length?:0
    println(getTextLength(t))
}

相关文章

  • Kotlin-空指针检查

    Kotlin搞空指针检查现象:java存在问题,大量的崩溃是空指针异常。原因:java的空指针异常是一种运行时异常...

  • Kotlin-空指针检查

    1、空指针异常是一种不受编程语言检查的运行时异常,只能由程序员主动通过逻辑判断来避免。 1.1、调用参数的方法之前...

  • Kotlin笔记 空指针检查

    Kotlin相较于java的一大优势就是可以减少空指针的出现,变量的type需要指定是否能为空,不带?的type不...

  • java异常处理

    1 RuntimeException非检查异常 NullPointerException 空指针异常 Arra...

  • Kotlin基础(8)-->空指针检查

    一、可空类型系统 Kotlin默认所有的参数和变量都不可为空。Int 表示不可为空的整型Int? 表示可为空的...

  • Kevin Learn Kotlin:空指针检查

    可空类型 当我们在声明方法时,如果允许在这个方法被调用的时候传给它 null 的实参,则需要显示地 在类型名称后面...

  • Android开发 - 处理 null 和 预防空指针异常(Nu

    概述: 在实际编码中总是会遇到 空指针异常 ,本文总结了一些处理空指针的个人经验。 原则: 尽早的检查,尽早的失败...

  • 【Objective-C】09-空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是...

  • iOS空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就...

  • Data Binding Null检查

    自动空指针检查 数组越界——DataBinding是无法帮我们的,所以一定要注意了!

网友评论

      本文标题:Kotlin-空指针检查

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