1. 程式人生 > >Java中泛型得到T.class

Java中泛型得到T.class

[] 大括號 alt 泛型 tcl target get gen ava

例子:

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