【发布时间】:2017-03-13 11:25:03
【问题描述】:
是否可以在 Kotlin 类中的 init 块之前初始化 companion object?如果是这样,怎么做?如果没有,有没有办法完成同样的事情。
我有以下场景,
class A(val iname: String) {
init {
foo.add(this)
}
companion object B {
@JvmField val STATIC = A("hi")
@JvmField val foo = mutableListOf<A>()
}
fun printAllStatics() {
for (a in foo) {
print(a.iname)
}
}
}
调用printAllStatics 会导致空指针异常。
【问题讨论】:
-
IMO 就像你想要的那样。你的错误是什么?
-
抱歉,我的 MWE 没有展示实际问题。我的错误
标签: oop static kotlin companion-object static-initializer