在Kotlin语言中,默认情况下,我们必须在引入每个变量时对其进行初始化.为避免这种情况,lateinit可以使用关键字.lateinit在初始化之前引用变量会导致运行时异常.
lateinit但是,不能与原始类型一起使用.为什么会这样?
我定义像一个实例变量,kotlin并希望初始化它的onCreate方法activity.
var count: Int
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
count.inc()
}
Run Code Online (Sandbox Code Playgroud)
这里我在计数变量上得到一个以下错误.
属性必须在Kotlin中初始化或抽象
好吧,我读过这个帖子属性必须初始化或者是抽象的并且尝试相同但是我再次得到以下错误.
原始类型属性不允许使用lateinit修饰符
lateinit var count: Int
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
count.inc()
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点Kotlin?