有没有办法从一个普通的Kotlin类中识别一个Kotlin数据类?
有没有办法从一个普通的Kotlin类中识别一个Kotlin数据类? 像使用反射也许?
从1.1开始,这个类有一个isData属性
MyDataClass::class.isData
您不能通过反射读取data
注释,因为它具有默认保留( CLASS
)。
你可以尝试使用一些启发式方法,比如检查它是否包含下面的方法:
-
public final copy
-
public final component{N}
-
public static copy$default
但是请注意,这是一些实现细节,将来可能会改变。