public class PageMode<T> {
private PageMode<T> pageMode; public PageMode<T> getPageMode() {
return pageMode;
}
}class Entity {
private int id; public void setId(int id) {
this.id = id;
} public int getId() {
return id;
}}class Test {
public static void main(String[] args) {
PageMode<Entity> t = new PageMode<Entity>();
//请问如何通过t对象获得泛型中的实际类型
}
}

解决方案 »

  1.   

    pageMode.getClass();
    或者通过继承,获取Generic参数类型
      

  2.   

    你这里t不就是Entity类型么?还能是别的类型?!都写死了..........
      

  3.   

    1 pageMode需要有值,就可以直接getClass()
    2 通过继承,而且只能通过继承
    public class PageMode<T> {
    }
    public class EntityPageMode extends PageMode<Entity> {
    }PageMode<Entity> t = new EntityPageMode<Entity>();
    Class<?> clazz = t.getClass();
    Class<?> tType = ((ParameterizedType) clazz.getGenericSuperclass()).getActualTypeArguments()[0];