【发布时间】:2017-07-06 11:08:25
【问题描述】:
有没有办法在不知道它的名字的情况下在伴生对象中获取伴生类的javaClass?
我想我可以通过这样做来获得它:
open class TestClass {
companion object {
init {
val clazz = Class.forName(this::class.java.canonicalName.removeSuffix(".Companion"))
}
}
}
但是,这不适用于class InheritingClass : TestClass()。它仍然会给我 TestClass,而不是 InheritingClass。
我希望有更直接的东西,比如this::class.companionClass。
【问题讨论】:
-
为什么不在
javaClass那里? -
val clazz = TestClass::class.java怎么样? -
啊,我的错,澄清了问题 - 我想在编译时不知道名称的情况下获取该类。
标签: kotlin