kotlin中lazy {}与getter()初始化之间的区别

问题描述 投票:1回答:1

在kotlin,我们可以使用这两种方法lazy{}getter()

延迟初始化:

internal val connector by lazy {
        serviceConnector
    }

吸气():

internal val connector : ServiceConnector
        get() = serviceConnector

何时使用哪种方法以及这两种方法实际上是什么方法。哪一种方法最好?

android kotlin getter-setter lazy-initialization
1个回答
1
投票

当您使用lazy委托时,val仅在您第一次使用时初始化。因此,在您的代码中,第一次访问connector时,lambda中的代码将运行,结果将分配给val

相反,get()用于重新定义当您尝试访问val时发生的情况。

© www.soinside.com 2019 - 2024. All rights reserved.