簡體   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