使用反射,我可以遍历属性:
data class AnotherDataClass(
val property: String,
val dataClass: DataClass
)
AnotherDataClass::class.memberProperties.filter {
return it::class.isData
}
但是it::class.isData
始终为假,因为it
的类型为jvm.internal.KProperty1Impl
。有没有办法检查此类是否为数据类?
答案 0 :(得分:1)
使用
AnotherDataClass::class.memberProperties.filter {
(it.returnType.classifier as? KClass<*>)?.isData ?: false
}