Nuru
11/08/2020, 1:38 PMVampire
11/08/2020, 3:48 PMVampire
11/08/2020, 3:50 PMfun Any?.isInitialized() = this != null
fun main() {
var foo: String? = null
println(foo.isInitialized())
foo = "bar"
println(foo.isInitialized())
}
=>
false
trueVampire
11/08/2020, 3:53 PMval Any?.initialized get() = this != null
fun main() {
var foo: String? = null
println(foo.initialized)
foo = "bar"
println(foo.initialized)
}Brandon Trautmann
11/08/2020, 4:01 PMNuru
11/08/2020, 5:52 PMArchie
11/08/2020, 6:11 PMvar / val . Its defined against KProperty0<*> . If you notice, to check if a property is initialized, you have to
lateinit var lazyProp: String
fun check() {
::lazyProp.isInitialized
// ::lazyProp returns KProperty<String>
}Nuru
11/08/2020, 7:43 PM