我有一堂课,充满了字符串之类的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
提交
取消