Kotlin:通过反射获得实际的通用类型的超级接口


open class Device
class Router : Device()
interface GenericDAO<T, ID>
open class DeviceDAO<T : Device> : GenericDAO<T, Long>
class RouterDAO : DeviceDAO<Router>()

我需要一个功能获取T和ID实际类型

https://github.com/pluses/ktypes

val genericDAOType = RouterDAO::class.starProjectedType.findSuperType(GenericDAO::class)!!
println(genericDAOType.arguments.first())// Router
println(genericDAOType.arguments[2])// Long

最新更新