Абстрактный класс Kotlin с универсальным параметром и методы, которые используют тип param
Я пытаюсь создать абстрактный класс с универсальным параметром, который будет иметь подклассы, которые должны вызывать методыбез указания параметров типа, У меня есть это до сих пор:
abstract class AbstractClass<T : Any> @Autowired constructor(protected val delegate: MyService) {
inline fun <T: Any> myMethod(param: Any): T? {
return delegate.myMethod(param).`as`(T::class.java)
}
}
И реализация:
class TesterWork @Autowired constructor(delegate: MyService) : AbstractClass<Tester>(delegate) {
}
Теперь при звонкеmyMethod
Я должен указать аргумент типа:
testerWork.myMethod<Tester>("test")
Мне было интересно, можно ли автоматически определить аргумент типа? Можно ли как-нибудь переделать мой метод? Обратите внимание, что мне нужно иметьT::class.java
внутри метода.