Kotlin延迟初始化和密封类
变量延迟初始化
关键字
lateinit
作用
如果一个变量是全局变量且初始化在后面的过程中进行时该变量不得不赋值为null,但如果这样进行后面调用其任何方法都需要进行判空处理相对麻烦,所以这里可以使用延迟初始化,就不需要将其赋值为null了
注意
使用延迟初始化时一定要保证后续某处对其完成了初始化
还可以通过代码进行判断是否完成了初始化
1 | //::adapter.isInitialized表示已经初始化 |
密封类
关键字
sealed class
作用
解决因语法原因导致的多余分支问题
实例
1 | sealed class Result |
1 | fun getResultMsg(result:Result)=when(result){ |
注意
密封类及其子类只能定义在同一文件的顶层位置,不能嵌套在其他类中
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Auroraの世界!




