在kotlin中,我们可以同时使用这两种方法lazy{}
和getter()
惰性初始化:
internal val connector by lazy {
serviceConnector
}
getter():
internal val connector : ServiceConnector
get() = serviceConnector
什么时候使用哪种方法以及这两种方法实际上是做什么的。哪种方法最好?
答案 0 :(得分:1)
当您使用lazy
委托时,val
仅在您第一次使用时被初始化。因此,在您的代码中,首次访问connector
时,lambda内部的代码将运行,并将结果分配给val
。
get()
重新定义当您尝试访问val
时发生的情况。