kotlin by lazy 的使用

by lazy 的作用

by 是在kotlin中代表者委托, lazy 懒加载

by lazy 就是委托延时处理

下面写一个demo说明下

新建一个类

复制代码
class ExportController {

    fun getName(): String? {
        return "name";
    }

    fun getAge(): Int {
        return 18;
    }

}

在mian中如下

复制代码
class MainActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.main_layout)

        val exportController by lazy { ExportController() }
        exportController.getName();
        exportController.getAge();

    }

}

在这种demo中 通过 by lazy 懒加载的ExportController,当exportController第一次被访问时,会调用ExportController。

总结:只有在首次访问exportController属性时,才会调用ExportController来创建这个实例。之后的访问都将直接返回已经创建好的ExportController实例,避免了不必要的重复初始化。

相关推荐
Pocker_Spades_A4 分钟前
Python快速入门专业版(五十七)——POST请求与模拟登录:从表单分析到实战(以测试网站为例)
开发语言·python
zopple9 分钟前
Laravel 10.x新特性全解析
android
鬼先生_sir9 分钟前
MySQL进阶-SQL高级语法全解析
android
Kapaseker12 分钟前
lazy 与 lateinit 到底有什么区别?
android·kotlin
黄林晴12 分钟前
慌了!Android 17 取消图标文字,你的 App 可能要找不到了
android
空中海12 分钟前
3.4 状态同步与生命周期管理
android·网络
道清茗18 分钟前
【RH294知识点汇总】第 3 章 《 管理变量和事实 》1
开发语言·python
星空椰18 分钟前
JavaScript基础:运算符和流程控制
开发语言·javascript·ecmascript
Halo_tjn20 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法
阿Y加油吧27 分钟前
栈的经典应用:从「有效括号」到「寻找两个正序数组的中位数」深度解析
开发语言·python·算法