我想用"by"初始化lateinit变量。我怎么能?
lateinit var test: int fun main() { test by something {} // error! }
我试着在by lazy中使用by,也试着在lateinit var中使用by,但都不起作用。
flvlnr441#
使用by lazy时不需要lateinit。Lazy意味着它将在第一次被引用时被初始化。lateinit意味着在构造后的某个时间手动赋值。所以你所需要的就是
by lazy
lateinit
val test by lazy { something() } fun main() { println(test) // runs the initializer and prints the value }
1条答案
按热度按时间flvlnr441#
使用
by lazy
时不需要lateinit
。Lazy意味着它将在第一次被引用时被初始化。lateinit
意味着在构造后的某个时间手动赋值。所以你所需要的就是