【发布时间】:2018-05-03 17:18:29
【问题描述】:
大家好,我有一个简单的问题, 我有一个充满元素的地图,我想在我的对象中转换它,让我给你看一些代码:
这是我的对象:
class Bundle(map: Map<String, Any>) {
var version: String?
var app: String?
var countries: ArrayList<Any>?
var currency: ArrayList<Any>?
var force: Boolean?
var name: String?
var service: ArrayList<Any>?
var money: Int?
init {
version= null
app= null
countries= arrayListOf()
currency= arrayListOf<Any>()
force= true
name = ""
service= arrayListOf<Any>()
money= 0
}
}
还有我要转换的地图:
fun getBundle() {
var db = FirebaseFirestore.getInstance()
val docRef = db.collection("aa").document("bb")
docRef.get().addOnCompleteListener { task ->
if (task.isSuccessful) {
val document = task.result
if (document.exists()) {
Log.d("Doc", "DocumentSnapshot data: " + document.data!!)
// Here i want to take (document.data!!) and convert it to my Bundle class
} else {
Log.d("NO doc", "No such document")
}
} else {
Log.d("ERROR", "get failed with ", task.exception)
}
}
}
谢谢!
【问题讨论】:
-
您要解决的具体问题是什么?
-
不能再丑了.. 为什么
ArrayList<Any>?和= arrayListOf()?为什么会有这么多Anys? -
@hotkey 我要解决的问题是,如何在我的 Bundle 对象中转换我的地图
-
@ice1000 对不起,我是 Kotlin 的新手,我认为这是初始化的好方法
-
一般来说,你想尽可能地避免
Any和?,你对一种类型越具体,它就越不可能不是你所期望的去使用它。
标签: java json firebase object kotlin