Android Kotlin 开发问题:‘lateinit‘ modifier is not allowed on properties of primitive types.

Android Kotlin 开发问题:‘lateinit‘ modifier is not allowed on properties of primitive types.
privatelateinitvaruserId:Int
  • 在 Android Kotlin 开发中,上述代码出现如下错误信息
'lateinit' modifier is not allowed on properties of primitive types.
问题原因
  1. lateinit 不能用于基本类型,Int 是 Kotlin 的基本类型

  2. lateinit 只适用于引用类型

处理策略
  1. 使用默认值
privatevaruserId:Int=0
  1. 或者,使用可空类型,但需要安全调用
privatevaruserId:Int?=null...userId?.let{...}