0xA*_*iHn 6 android getter-setter lazy-initialization kotlin
在 kotlin 中,我们可以同时使用这两种方法lazy{}和getter()
延迟初始化:
internal val connector by lazy {
serviceConnector
}
Run Code Online (Sandbox Code Playgroud)
吸气剂():
internal val connector : ServiceConnector
get() = serviceConnector
Run Code Online (Sandbox Code Playgroud)
何时使用哪种方法以及这两种方法在幕后实际做了什么。哪一种是最好的方法?
当您使用lazy委托时,val仅在第一次使用时才会初始化。因此,在您的代码中,第一次访问 时connector,将运行 lambda 内的代码,并将结果分配给val.
get()相反,用于重新定义当您尝试访问val.
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |