给定以下代码
class A
class B {
val property: A
get() = A()
}
fun main(args: Array<String>) {
val b = B()
println(b.property)
println(b.property)
}
每次 B.property
都会返回一个新的 A
实例。有没有一种简单的方法让它每次都返回相同的实例?
最佳答案
您可以使用委托(delegate)属性 lazy简单地说,例如:
class B {
val property by lazy(::A)
}
您也可以像这样使用 lambda 表达式:
class B {
val property by lazy { A() }
}
关于kotlin - 仅计算一次属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44750407/