Ссылка на экземпляр универсального типа T - PullRequest
0 голосов
/ 12 июня 2019

Можно ли вернуть экземпляр универсального типа 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...