Gibt es eine Möglichkeit, eine Kotlin-Datenklasse aus einer regulären Kotlin-Klasse zu identifizieren? Wie mit Reflektion vielleicht?Gibt es eine Möglichkeit, eine Kotlin-Datenklasse aus einer regulären Kotlin-Klasse zu identifizieren?
7
A
Antwort
3
Seit 1.1 gibt es eine ISDATA Eigenschaft auf der Klasse
MyDataClass::class.isData
5
Sie können keine data
Annotation durch Reflektion lesen, da diese standardmäßig beibehalten wird (CLASS
).
Sie können versuchen, einige Heuristik zu verwenden, wie zu prüfen, ob es neben Methoden enthält:
public final copy
public final component{N}
public static copy$default
Aber beachten Sie, dass Somethings hierfür sind Details Implementierung und kann in der Zukunft geändert werden.