1. 对变量延迟初始化
延迟初始化使用的是lateinit关键字,它可以告诉Kotlin编译器,我会在晚些时候对这个变量进行初始化,这样就不用在一开始的时候将它赋值为null。
当你对一个全局变量使用了lateinit关键字时,请一定要确保它在被任何地方调用之前已经完成了初始化工作,否则Kotlin将无法确保程序的安全性。
private lateinit var adapter: TestAdapter
另外,我们还可以通过代码来判断一个全局变量是否已经完成了初始化,这样在某些时候能够有效地避免重复对某一个变量进行初始化操作。
private lateinit var adapter: TestAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_recycler) ... if (!::adapter.isInitialized){ adapter = TestAdapter(data) } ... }
具体的语法就是这样,::adapter.isInitialized可用于判断adapt变量是否已经初始化。虽然语法看上去有点奇怪,但这是固定的写法。
标签:初始化,复习,adapter,TestAdapter,笔记,lateinit,onCreate,变量 From: https://www.cnblogs.com/touchmore/p/18186887