我有一堂課,充滿了字符串之類的data class TestClass (var par1: String?,var par2: String?,var par3: String?)我想將它轉換為 Map,其中 Key 和 Value 是字符串。在 Kotlin 中執行此操作的最佳方法是什么?
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
您可以使用 Kotlin 反射來實現它,將kotlin-reflect庫添加到應用程序類路徑并使用如下代碼:
fun TestClass.asMap() = this::class.declaredMemberProperties
.map {
it as KProperty1<TestClass, Any?>
it.name to it.get(this).toString()
}.toMap()
我們將declaredMemberProperties元素從星形投影轉換為 with 類型Any?。由于 JVM 類型擦除,該案例未被選中,但仍然需要。
添加回答
舉報
0/150
提交
取消