例子:
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