美文网首页
Kotlin使用时的问题

Kotlin使用时的问题

作者: 馒头炖土豆 | 来源:发表于2023-02-09 15:05 被阅读0次

1:创建viewmodel的时候,使用ViewModelProvider,而不是直接创建viewmodel的对象
注意点1:ViewModelProviders 和 ViewModelProvider 的区别
注意点2:为什么使用ViewModelProvider 来创建viewmodel而不是直接创建viewmodel ?

2:Kotlin类中,声明变量时如果已经赋值了,那么这个变量就不允许为空,再次赋值为空的时候会导致崩溃
举例如下:private var shopID = “” , 这时初始化的时候已经有值了,在onCreate()方法中使用intent.getStringExtra(“shopID”)时获取的值为null的时候,就会报空指针异常,因为shopID在声明的时候已经赋值了并且没有声明成可以为空,这种情况再Kotlin的语法中shopID就不能再赋空值了

3:如果一个成员变量声明了可以为空,那么在使用的时候要注意判空操作,使用时不能使用 !!,而是建议使用?,因为使用 !! 的话,为空的时候就会强制崩溃,而使用?为空时不会强制崩溃
举例如下:private var settingBean : SettingBean? = null ,使用时不能用settingBean!!.name ,而是使用settingBean?.name,如果必须使用 !!,则要保证settingBean不会为空

4:使用as操作符强制转换类型的时候,必须要进行判空操作,比如:

userInformationData = intent.getParcelableExtra<Parcelable>(SellerConstatnt.USER_INFORITION_DATA) as UserInformationData 

如果有一个页面没传SellerConstatnt.USER_INFORITION_DATA类型的数据过来,那么intent获取到的数据肯定为空,这时如果再进行强转,就会直接崩溃,因此使用as?进行强转,使用时进行判空操作

相关文章

网友评论

      本文标题:Kotlin使用时的问题

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