我想让以下代码行通用:
val newItem: Item = documentChange.document.toObject<Item>(Item::class.java)
工作正常。但是,当我尝试使其通用时:val addedItem: T = documentChange.document.toObject<T>(T::class.java)
Android Studio 提示:Cannot use 'T' as reified type parameter. Use a class instead.
Screenshot
我怎样才能使它通用?
最佳答案
你需要做一个函数 inline
并添加 reified
泛型参数的关键字:
inline fun <reified T> someFun() {
//...
val addedItem: T = documentChange.document.toObject<T>(T::class.java)
}
关于android - 无法在 Kotlin 中制作通用项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62637460/