java获取一个类的Type

获取Class是轻而易举,getClass()即可,但是获取Type怎么获取呢?


其实看一下源码就知道

Class实现了Type接口,直接强转就可以

Type t = ((Type)getClass());
Log.i("xbh", t.toString());


下面提供另外一种方式

public class MyUtils<T> {
    private T type_variable;
    MyUtils() throws Exception{
        Type t = getClass().getDeclaredField("type_variable").getGenericType();
        Log.i("xbh", t.toString());
    }
}
先根据泛型定义一个成员变量,但不初始化,先获取这个类,再获取这个类中名为type_variable的变量,再获取Type

(其实绕了远路)



你可能感兴趣的:(java泛型,反射,注解,java获取一个类的Type)