hisham bin awiad
10/31/2021, 1:16 PMprivate val empID
get() = (userModelId ?: session.getUserModelId().toSafetyString()).toSafetyString()
private val empID2 by lazy { (userModelId ?: session.getUserModelId().toSafetyString()).toSafetyString() }
sbyrne
10/31/2021, 1:38 PMget()
, it will be evaluated every time empID
is referenced. With by lazy
it will only be evaluated once at most.userModelId
is immutable and session.getUserModelId()
will always return the same thing, use by lazy
.hisham bin awiad
10/31/2021, 2:07 PMRobert Williams
11/01/2021, 9:05 AMby lazy
also has to synchronise threads on every access to guarantee the single executionLazyThreadSafetyMode.NONE
(this will break the single execution guarantee but in this case it probably doesn't matter)private val empID = (userModelId ?: session.getUserModelId().toSafetyString()).toSafetyString()
Matteo Mirk
11/23/2021, 8:41 AMsession.getUserModelId()
can be changed to property accessor session.userModelId