gpt4 book ai didi

reflection - 如何在 kotlin 中访问对象声明的对象成员

转载 作者:行者123 更新时间:2023-12-03 17:05:58 25 4
gpt4 key购买 nike

假设您有以下嵌套对象声明:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com