[英]how to access a value in a map that is nested inside another map (in kotlin)
在下面的示例中,一個名為 someCompany 的 map 在其值之一中有一個名為 somePerson 的 map
val somePerson = mapOf("name" to "Tim", "age" to "35")
val someCompany = mapOf("boss" to somePerson, "sector" to "accounting")
我認為在嵌套的 map 中獲取一個值會很簡單。我有點驚訝這個天真的解決方案不起作用:
val a = someCompany["boss"]
val myOutput = a["name"] //I expected myOutput to be 'Tim', but this doesn't work
如何在嵌套的 map 中提取值?
你必須像這樣聲明你的地圖:
val somePerson = mapOf("name" to "Tim", "age" to "35")
val otherPerson = mapOf("name" to "Tom", "age" to "25")
val someCompany = mapOf("boss" to somePerson, "sector" to otherPerson)
your sameCompany
map 需要有相同類型的數據才能正常工作
您可以使用get()
方法訪問此person
的name
:
val person = someCompany["boss"]
val name = person?.get("name")
PS:如果你真的想用不同類型的數據創建你的 map ,你可以將檢索到的值轉換為你喜歡的類型(但我不推薦它,因為它不安全):
val person = someCompany["boss"] as? Map<String, String>
val name = person?.get("name")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.