【发布时间】:2017-11-02 01:29:06
【问题描述】:
我正试图弄清楚是否有可能。一般来说,我想做的是从超类的伴随对象中获取子类的类类型......在下面的片段中,将__视为我需要的
companion object
{
fun fromSnapshot(snapshot: DataSnapshot): __
{
val model = snapshot.getValue(__)
model.key = snapshot.key
// ...
return model
}
}
一些背景...DataSnapshot 来自 Firebase,snapshot.getValue() 采用 Class<T>。如果我试图创建一个TestModel 的实例,代码如下
companion object
{
fun fromSnapshot(snapshot: DataSnapshot): TestModel
{
val model = snapshot.getValue(TestModel::java.class)
model.key = snapshot.key
// ...
return model
}
}
我不确定我所问的是否在 Kotlin 中可行。我很确定它不在Java中。我不想提它,但在 Swift 中,这将通过我所谓的“big-S self”或Self 来完成,它是实例self 的类类型。如果你不了解 Swift,self 相当于 Java 和 Kotlin 的this。
任何帮助将不胜感激!
【问题讨论】:
标签: android firebase firebase-realtime-database kotlin