Java中泛型得到T.class

Posted Jim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中泛型得到T.class相关的知识,希望对你有一定的参考价值。

例子:

public class Test<T> {
    public Class<T> getTClass() {
        return (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
    }

    public void test() {
        System.out.println(getTClass());
    }

    public static void main(String s[]) {
        (new Test<User>() {}).test();
    }
}  

注意:

1、使用时必须在new出的方法中使用匿名内部类,不然获取不到,比如:new Test<User>() {},后面带了大括号的表示为匿名内部类。

 

参考:

http://blog.csdn.net/buyaore_wo/article/details/8138846

http://blog.csdn.net/z69183787/article/details/54312522

http://blog.csdn.net/ykdsg/article/details/5472591

以上是关于Java中泛型得到T.class的主要内容,如果未能解决你的问题,请参考以下文章

java中泛型List问题

Java 得到泛型中得到T.class

Java中泛型 类型擦除

Java——泛型

Java中泛型的理解

java中泛型的使用