所以我想这样做:
class Person<T: BaseType> {
val clazz = T::class // That's what I'm trying to achieve
}
当然,我得到一个错误“不能使用'T'作为化类型参数。改为使用类。”
最佳答案
您无法执行此操作,但通常使用一种解决方法:
class Person<T : Any>(val clazz: KClass<T>)
inline fun <reified T : Any> Person(): Person<T> {
return Person(T::class)
}
用法:Person<String>()
关于kotlin - 将通用类型提取为变量的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64339840/