繁体   English   中英

将 Class 的对象转换为 Map

[英]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 类型擦除,大小写未选中,但它仍然是必需的。

转换列表<object>映射<div id="text_translate"><p>我有一个包含四个字段的Employee类:id、name、department 和 email。 我创建了五个对象,设置了值并将它们全部添加到列表中。</p><p> 现在,我想将该列表转换为地图,但我做不到。 供您参考,这是我尝试过的代码</p><pre>Employee emp1 = new Employee("1", "Mayank", "HR", "mayank@gmail.com"); Employee emp2 = new Employee("2", "Mahesh", "Trainer", "Mahesh@gmail.com"); Employee emp3 = new Employee("3", "Vipul", "SEO", "Vipul@gmail.com"); Employee emp4 = new Employee("4", "Ajay", "Devlopwr", "Ajay@gmail.com"); Employee emp5 = new Employee("5", "Rakesh", "Marketing", "Rakesh@gmail.com"); //add class object to list List &lt; Employee &gt; listWmp = new ArrayList &lt; &gt; (); listWmp.add(0, emp1); listWmp.add(1, emp2); listWmp.add(2, emp3); listWmp.add(3, emp4); listWmp.add(4, emp5); System.out.println("list elements are: " + listWmp); //convert the list into map Map &lt; String, Employee &gt; listMap = new HashMap &lt; &gt; (); for (Employee employee: listWmp) { listMap.put(employee.getEmpId(), employee.getEmpBame()); }</pre><p> 如何将列表转换为地图?</p></div></object>

[英]convert List<object> to map

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将任何类的对象转换为Java中的Map? 将 Map 转换为数据 Class 将JsonNode对象转换为Map 如何将地图转换为对象 在Kotlin中将地图转换为对象 在java中将对象转换为映射 转换列表<object>映射<div id="text_translate"><p>我有一个包含四个字段的Employee类:id、name、department 和 email。 我创建了五个对象,设置了值并将它们全部添加到列表中。</p><p> 现在,我想将该列表转换为地图,但我做不到。 供您参考,这是我尝试过的代码</p><pre>Employee emp1 = new Employee("1", "Mayank", "HR", "mayank@gmail.com"); Employee emp2 = new Employee("2", "Mahesh", "Trainer", "Mahesh@gmail.com"); Employee emp3 = new Employee("3", "Vipul", "SEO", "Vipul@gmail.com"); Employee emp4 = new Employee("4", "Ajay", "Devlopwr", "Ajay@gmail.com"); Employee emp5 = new Employee("5", "Rakesh", "Marketing", "Rakesh@gmail.com"); //add class object to list List &lt; Employee &gt; listWmp = new ArrayList &lt; &gt; (); listWmp.add(0, emp1); listWmp.add(1, emp2); listWmp.add(2, emp3); listWmp.add(3, emp4); listWmp.add(4, emp5); System.out.println("list elements are: " + listWmp); //convert the list into map Map &lt; String, Employee &gt; listMap = new HashMap &lt; &gt; (); for (Employee employee: listWmp) { listMap.put(employee.getEmpId(), employee.getEmpBame()); }</pre><p> 如何将列表转换为地图?</p></div></object> 将JSON对象转换为Map对象 地图 <Class<?> ,对象&gt;注册表 转换地图的最佳方式<Object, Optional<Object> &gt; 到地图<Object, Object> ?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM