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

相关推荐
yudiandian20144 分钟前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
要加油哦~10 分钟前
JS | 知识点总结 - 原型链
开发语言·javascript·原型模式
鄃鳕27 分钟前
python迭代器解包【python】
开发语言·python
new coder28 分钟前
[c++语法学习]Day10:c++引用
开发语言·c++·学习
雨白31 分钟前
优雅地处理协程:取消机制深度剖析
android·kotlin
驰羽34 分钟前
[GO]GORM 常用 Tag 速查手册
开发语言·后端·golang
Narcissiffo43 分钟前
【C语言】str系列函数
c语言·开发语言
workflower1 小时前
软件工程与计算机科学的关系
开发语言·软件工程·团队开发·需求分析·个人开发·结对编程
ajsbxi1 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
leon_zeng01 小时前
更改 Android 应用 ID (ApplicationId) 后遭遇记
android·发布