kotlin-延迟初始化

Posted 我还能码嘛。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin-延迟初始化相关的知识,希望对你有一定的参考价值。

Koltin中属性在声明的同时也要求要被初始化,否则会报错:

延迟初始化使用的是lateinit关键字,它可以告诉编译器,我会在晚些时候对这个变量进行初始化,这样就不用在一开始的时候给它赋值为null了。


补充:

  1. lateinit var只能用来修饰类属性,不能用来修饰局部变量,并且只能用来修饰对象,不能用来修饰基本类型 (因为基本类型的属性在类加载后的准备阶段都会被初始化为默认值)
  2. lateinit var的作用也比较简单,就是让编译期在检查时不要因为属性变量未被初始化而报错
  3. Kotlin相信当开发者显式使用lateinit var关键字的时候,他一定也会在后面某个合理的时机将该属性对象初始化的

判断它是否已经完成初始化

if(!::s.isInitialized)


以上是关于kotlin-延迟初始化的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 中初始化块初始化的顺序lateinit延迟初始化详解

Kotlin之类属性延迟初始化

Kotlin之类属性延迟初始化

Kotlin的延迟初始化

kotlin-延迟初始化

错误记录Kotlin 延迟加载初始化报错 ( lateinit property string has not been initialized )