kotlin应对空指针问题

kotlin应对空指针问题

一般来讲,引用传来的指针之前,需要进行空指针检查。

很多语言并没有空指针保护,比如C++ java。

但是系统复杂,开发人员多了之后,难免会出现引用空指针问题。

如果网络检查,引用空指针,系统就会跑飞。

但是,Kotlin默认所有参数和变量不可为空,可以杜绝空指针风险。

在编译时,就会进行空指针检查。从而修正空指针问题。

如果遇到必须使用空指针或者空变量,可以使用可为空类型。

可为空类型是在类型类后面加上?。例如:Int?

在对声明为?的类型进行引用时,IDE会提示进行判空。

kotlin还提供了一些判空语法糖。

?.:左侧对象不为空就正在执行右边的方法,为空就什么都不做。

?::左侧不为空就返回左侧被判空表达式的结果,为空就返回右边表达式结果

fun getTextLength(text: String?) = text?.length ?: 0

text如果为空,text?.length就什么都不做,表达式的值为NULL,然后整个表达式的值就变为了0.

对象的let标准函数与判空结合,简化?.判断:

之前使用?.的时候,相当于每次操作都进行了一次空指针判断。可以用let结合λ表达式来简化。

let是对象标准函数,会把当前对象传入后面的λ表达式中。

mycar?.let{
    it.run()
    it.charge()
}

你可能感兴趣的:(Kotlin,kotlin,开发语言,android)