假设您有以下嵌套对象声明:
object Father {
val fathersField = "value"
object Child {
val childsField = 3.141592654
}
}
当我从
Father
开始使用反射时,我可以找到字段 fathersField
只有但没有成员引用 Child
实例。是否可以通过反射找到那些内部对象声明?如果是这样,如何?
最佳答案
使用 nestedClasses
来自 kotlin-reflect
:
Father::class.nestedClasses.find { it.simpleName == "Child" }
或者,正如@s1m0nw1 建议的那样,使用 Java 反射并转换
Class
返回 KClass
与 .kotlin
如果需要的话:Father::class.java.classes.first { it.simpleName == "Child" }.kotlin
关于reflection - 如何在 kotlin 中访问对象声明的对象成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45757517/