Android笔记(kotlin)

1,488 阅读1分钟

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)
    }
}