1、this.javaClass.genericSuperclass
获取当前类的Type
2、((this.javaClass.genericSuperclass) as ParameterizedType).actualTypeArguments[0]
参数化类型详解:blog.csdn.net/JustBeauty/…
当前类是一个参数化类型Object,通过上述方法获取到参数的实际类型,比如:
class AA<T> {
fun test(){
val type = ((this.javaClass.genericSuperclass) as ParameterizedType).actualTypeArguments[0]
//type 就是 T 所对应的具体类型,可用于Gson转化
val t: T = Gson().formJson<T>(json, type)
}
}