购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.6 可空类型(Null)

在编程开发过程中,经常会碰到变量为空值的情况,如果该变量是引用类型的,那么它的设置就是Null;如果是值类型的,那么在不使用可空类型的情况下,会像Java一样抛出空值的异常。为了避免发生这种情况,Kotlin可以创建一个可空类型的变量。

【例2.9】 定义一个可空类型的变量。

在项目中,经常会从数据库中查询出来可空类型数据,因此在Kotlin中提供了以下方式来访问可空类型数据。

· 条件判断:如var b=if(address!=null)address.length else-1,通过条件语句判断该变量是否为空值,如果不为空值,则返回该变量;否则,就返回该变量的长度或值。

· 使用安全操作符(?.):如address?.length,如果address为非空值,则返回a的长度或其他值;否则,就返回null。

· 使用Elvis操作符(?:):如address?.length?:-1,如果address为非空值,则使用变量address;否则,就使用某个非空值。

· 使用“!!”操作符:如果想像Java一样抛出空值异常,就必须对变量显式使用“!!”操作符,如a!!。

· 类型转换:如果对象的类型不是目标类型,那么进行常规类型转换会导致ClassCastException异常,所以需要进行安全类型转换,如var b:Int?=a as?Int。

当集合中出现空值时,可以使用FilterNotNull函数去除集合中为空的元素,重新生成没有空值的集合。 oFeYFZckOGJ4wgLcrnLSIu9AjD61dqysPi9pX1zs02RhGCtJT+5B0ld6hs6W7KJv

点击中间区域
呼出菜单
上一章
目录
下一章
×