h**********y 发帖数: 1293 | 1 【 以下文字转载自 Java 讨论区 】
发信人: hurtmeplenty (它们说,比群论优美的只有性高潮。), 信区: Java
标 题: 关于得到generic type的问题求助!
发信站: BBS 未名空间站 (Mon Feb 20 13:45:09 2012, 美东)
有个函数 static T func(Class c)
runtime怎样得到T的实际类型?
关键是这个函数是static的,
如果不是static我做好了。
求助!万分感谢! |
R***a 发帖数: 41892 | 2 难道不是c.getClass()
【在 h**********y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 【 以下文字转载自 Java 讨论区 】 : 发信人: hurtmeplenty (它们说,比群论优美的只有性高潮。), 信区: Java : 标 题: 关于得到generic type的问题求助! : 发信站: BBS 未名空间站 (Mon Feb 20 13:45:09 2012, 美东) : 有个函数 static T func(Class c) : runtime怎样得到T的实际类型? : 关键是这个函数是static的, : 如果不是static我做好了。 : 求助!万分感谢!
|
h**********y 发帖数: 1293 | 3 c.getClass() 得到的是java.lang.Class...
如果不是static function可以这样
ParameterizedType pt = (ParameterizedType) (getClass()
.getGenericSuperclass());
Type tt = pt.getActualTypeArguments()[0];
TT = ((Class) tt);
static情况下,不能用 getclass()
【在 R***a 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 难道不是c.getClass()
|
R***a 发帖数: 41892 | 4 .net里直接typeof(T)就可以了。
java有木有类似的?
【在 h**********y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : c.getClass() 得到的是java.lang.Class... : 如果不是static function可以这样 : ParameterizedType pt = (ParameterizedType) (getClass() : .getGenericSuperclass()); : Type tt = pt.getActualTypeArguments()[0]; : TT = ((Class) tt); : static情况下,不能用 getclass()
|