我想弄清楚是否有可能。一般情况下,我想要做的是从超类的同伴对象中获取类类型的子类的......在下面的剪断,对待__
因为我需要什么是否可以从超类中获取Kotlin子类型?
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
}
}
我真的不知道,如果我要问在科特林是可能的。我很确定它不在Java中。我讨厌提及它,但在Swift中,这可以通过我称之为“big-S self”或Self
来实现,它是实例self
的类类型。如果你不知道Swift,self
就相当于Java和Kotlin的this
。
任何帮助将非常感激!
我喜欢它!非常感谢。我是Kotlin的新手,但擅长Java,所以我倾向于做类似Java的风格的事情,但我更喜欢Kotlin风格的约定。需要成为“Kotlin-y” – poisondminds