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

相关推荐
每天吃饭的羊3 分钟前
nest,java对比
java·开发语言
sycmancia3 分钟前
Qt——登录对话框
开发语言·qt
专注VB编程开发20年4 分钟前
WebView2同时执行多个Promise异步任务性能损失1毫秒以内
开发语言
zh_xuan4 分钟前
Android compose和传统view混用
android
froginwe115 分钟前
Perl 目录操作指南
开发语言
架构师老Y6 分钟前
010:API网关调试手记:路由、认证与限流的那些坑
开发语言·前端·python
前端老石人6 分钟前
无障碍访问
开发语言·前端·html
软件开发技术7 分钟前
最新在线留言板系统PHP源码
开发语言·php·留言板系统php源码
Java基基7 分钟前
Maven 4要来了:15年后,Java构建工具迎来“彻底重构”
java·开发语言·重构
水云桐程序员8 分钟前
用C语言开发单片机项目的工作思路
c语言·开发语言·单片机