如何从Kotlin的KProperty1中提取类

时间:2019-04-07 10:12:10

标签: generics kotlin reflection

我有以下代码:

UpdateData

我想用类User的KProperty1填充Map。用户类具有层次结构,我需要获取用户类中所有类的KProperty1列表。问题是如何从KProperty1获取课程

2 个答案:

答案 0 :(得分:0)

如果您要获取返回类型的Class(例如,Address::class.java中的User::address),则应该是

prop.returnType.jvmErasure.java

文档:returnTypeerasure; java

旁注:如果reified T中有fillPropertiesMap,则不需要Class<T>参数,因为您可以将其作为T::class.java来获得。

答案 1 :(得分:0)

我找到了解决方法:

fillPropertiesMap(prop.getter.returnType.javaType as Class<Any>, map)