[英]Convert object of Class into Map
我有一个班级,充满了 String 之类的
data class TestClass (
var par1: String?,
var par2: String?,
var par3: String?
)
我想将其转换为 Map,其中 Key 和 Value 是 String。 在 Kotlin 中执行此操作的最佳方法是什么?
您可以使用 Kotlin 反射来实现它,将kotlin-reflect
库添加到应用程序类路径并使用如下代码:
fun TestClass.asMap() = this::class.declaredMemberProperties
.map {
it as KProperty1<TestClass, Any?>
it.name to it.get(this).toString()
}.toMap()
我们将declaredMemberProperties
元素从星形投影转换为Any?
反而。 由于 JVM 类型擦除,大小写未选中,但它仍然是必需的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.