我想知道 kotlin 是如何处理枚举属性的。如果我们有一个具有以下结构的枚举:
enum class MyEnun(var sampleObject: MyObjectType){
ONE(MyObjectType(blabla)),
TWO(MyObjectType(blabla))
}
这两个 MyObjectType 实例是以惰性方式创建的,还是相反,它们将在创建枚举时创建?
所有实例都是同时创建的。
enum class Foo(input: String) {
ONE("one"),
TWO("two");
init {
println("Received $input")
}
}
fun main(args: Array<String>) {
Foo.ONE
}
当我运行时,我得到以下结果:
Received one
Received two
如果它们是惰性创建的,我希望只打印“已收到”。
问题
哪个是真的?
回答