lateinit和by lazy的区别:lateinit和by lazy区别
lateinit 只能用于修饰变量 var,不能用于可空的属性和 Java 的基本类型。
lateinit 可以在任何位置初始化并且可以初始化多次。
lazy 只能用于修饰常量 val,并且 lazy 是线程安全的。
lazy 在第一次被调用时就被初始化,以后调用该属性会返回之前的结果。
lateinit和by lazy的区别:lateinit和by lazy区别
lateinit 只能用于修饰变量 var,不能用于可空的属性和 Java 的基本类型。
lateinit 可以在任何位置初始化并且可以初始化多次。
lazy 只能用于修饰常量 val,并且 lazy 是线程安全的。
lazy 在第一次被调用时就被初始化,以后调用该属性会返回之前的结果。