Можно ли вернуть экземпляр универсального типа T, когда класс Animal переопределяет класс Zoo?
classInstance<T>() returns a type mismatch; required class<T> found T.
private inline fun <reified Eat : T> classInstance(): Eat = Eat::class.java.newInstance()
abstract class Animal<Result> {
abstract fun bark(): Class<Result>
}
open class Zoo<T>(protected var listener: RequestListener<T>?) : Callback<T>, Animal<T>() {
override fun bark(): Class<T> = classInstance<T>()
}
bark()
Функция будет использоваться для следующих целей:
Gson().fromJson(inputStreamReaderResult, bark())
где, bark()
должно быть типа Class