Java获取泛型的实际类型

来源:互联网 发布:apache base64 编辑:程序博客网 时间:2024/05/21 19:47

1. 创建包含泛型的父类

public abstract class Father<T>{    public abstract String className();}
2. 创建子类继承父类


public class Children extends Father<WXStudent>{    @Override    public String className()    {        Class type = (Class) ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];        return type.getName();    }}

3. 测试

public void testT(){        Children children = new Children();        System.out.println(children.className());}

4.输出

com.bibabo.framework.entity.WXStudent

注意:java中的泛型采用擦拭法。无法得到自己本身的泛型。而调用getGenericSuperclass()方法得到的是父类的泛型。 

1 0
原创粉丝点击