一。kotlin中?和!!的区别
?表示当前对象可以为空
!! 当前对象不可为空,在对象不为空的条件下执行,只有你自己有十足把握对象不为空的时候才可使用。否则对象为空时,程序会crash
二。lateinit var 和val
在不想声明可空对象的时候,可以延迟初始化,但是需要注意,使用lateinit var时,如果初始化获取的对象为空,而在其他地方使用了这个对象,则会报“lateinit property has not been initialized”
一。kotlin中?和!!的区别
?表示当前对象可以为空
!! 当前对象不可为空,在对象不为空的条件下执行,只有你自己有十足把握对象不为空的时候才可使用。否则对象为空时,程序会crash
二。lateinit var 和val
在不想声明可空对象的时候,可以延迟初始化,但是需要注意,使用lateinit var时,如果初始化获取的对象为空,而在其他地方使用了这个对象,则会报“lateinit property has not been initialized”