Kotlin:变量的初始化和get
以下两者之间的区别是什么:Kotlin:变量的初始化和get,kotlin,Kotlin,以下两者之间的区别是什么: 1. var abc = someObject.getSomeValueWhichChangesFrequently() vs 2. var abc = someObject.getSomeValueWhichChangesFrequently() get = someObject.getSomeValueWhichChangesFrequently() someObject.GetSomeValuewhi
1.
var abc = someObject.getSomeValueWhichChangesFrequently()
vs
2.
var abc = someObject.getSomeValueWhichChangesFrequently()
get = someObject.getSomeValueWhichChangesFrequently()
someObject.GetSomeValuewhichChangesFrequencly()经常更改。
将使用第一种方法,仅在init处设置值,然后始终从abc返回该值,而不管someObject稍后返回什么值
或者abc总是返回someObject的最新值。GetSomeValuewhichChangesFrequency()
我不想#2,因为我必须在abc的init和get()中调用someObject.getSomeValueWhichChangesFrequently()
请给我一些建议。谢谢
我不想#2,因为我必须在abc的init和get()中调用someObject.getSomeValueWhichChangesFrequently()
你应该写的是
val abc
get() = someObject.getSomeValueWhichChangesFrequently()
或
在你的#2中调用初始化器实际上是无用的,因为它初始化了,但getter从未访问过它。这是否回答了你的问题?对不起,没有
var abc
get() = someObject.getSomeValueWhichChangesFrequently()
set(value) = someObject.setSomeValueWhichChangesFrequently(value)