reflection - kotlin反射获取字段列表

标签 reflection jvm kotlin

在 Kotlin 中是否有 java 反射 foo.getClass().getFields() 的等价物?我发现只有知道字段名称才能访问字段,但我想以通用方式处理字段。

最佳答案

您是否想要“支持字段”中的字段或“属性”中的字段... Kotlin 真的只有属性。您可以使用以下方法为某些类(class)获取这些:

MyTest::class.memberProperties

// or 

MyTest::class.declaredMemberProperties

来自 Java Class<T> , 使用 kotlin获取 Kotlin 的扩展属性 KClass<T>您可以从中继续:

someClassOfMine.javaClass.kotlin.memberProperties

这需要 kotlin-reflect依赖项也将添加到您的构建和类路径中。您会在 KClass 上找到许多其他有用的东西

对于属性背后的 secret 支持字段,使用 Java 反射需要您自担风险。

关于reflection - kotlin反射获取字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28391889/

相关文章:

java - 使用反射获取声明为字段的 bean - 它的值

java - 通过反射获取方法

与类类型的快速类型比较

java - 如何在命令行中通过 Apache Ant 样式变量替换设置 tomcat 的上下文属性?

java - 发送 GET 请求时无法将类型 'java.lang.String' 的值转换为所需类型 'java.util.Date'

java - Kotlin 如何推断 Java 方法参数的可空性?

.net - 使用强名称程序集的反射创建类型实例的问题

java - 字节码是否被视为 JVM 的指令集?

java - 关于java的困惑

android - isOpen 函数对 Room 数据库或 SQLite 有效吗?