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实例,避免了不必要的重复初始化。

相关推荐
mxlwd168几秒前
movielen 100k lr模型训练过程
开发语言·python·机器学习
charlee441 分钟前
Unity在安卓端如何调试输出信息
android·unity·adb·游戏引擎·真机调试
法欧特斯卡雷特5 分钟前
从 Kotlin 编译器 API 的变化开始: 2.4.0
android·开源·github
贾艺驰7 分钟前
实战Android Framework: 新增一个系统服务
android·源码
火山上的企鹅9 分钟前
Codex实战:APP远程升级服务搭建(五)App端远程升级接入
android·服务器·远程升级·qgc
AI人工智能+电脑小能手11 分钟前
【大白话说Java面试题 第113题】【并发篇】第13题:说一下乐观锁的优点和缺点?
java·开发语言·面试
lihao lihao23 分钟前
linux线程
java·开发语言·jvm
码云骑士31 分钟前
03-Python可变对象与不可变对象(下)-深浅拷贝的底层真相
开发语言·python