Esiste un modo nativo per assicurarsi che una variabile possa essere impostata solo una volta?E 'possibile e come avere var che può essere impostato solo una volta?
Attualmente, sto usando questo approccio
class SetOnceVariable[T]
{
private var value : T = _
private var initialized = false
def apply(_v : T = _) : T =
{
if (value != null && !initialized) {
value = _v
initialized = true
}
value
}
}
class ClientInfo
{
val userIP : SetOnceVariable[String] = new SetOnceVariable[String]
}
È possibile utilizzare un 'lazy val'? Quando viene impostata e utilizzata la variabile? –
No, ho bisogno che l'userIP sia impostato su QUALSIASI punto – Andrey