如何解决如何从扩展泛型类的静态方法中获取泛型类型参数?
public class GenClass<T>
{
public static void m()
{
//I need to kNow here,what is T ?
}
}
class Test
{
class Cl1 extends GenClass<Integer>{}
class Cl2 extends GenClass<MyClass>{}
class Cl3 extends GenClass<Cl3>{}
public static void main(String[] args)
{
Cl1.m();
Cl2.m();
Cl3.m();
}
}
我怎么知道里面的方法m
,什么是T
?
附注: 我对 Java 很陌生(我的语言是 C#)。我有 found 这样的构造作为类似问题的解决方案:
return (Class) ((ParameterizedType) /*getClass()*/GenClass.class
.getGenericSuperclass()).getActualTypeArguments()[0];
但它是关于实例方法的,所以我不能从静态方法调用 getClass()
,我试图用 GenClass.class
替换它,但看起来 .class
是静态评估的,所以它可能没有关于 T
的任何信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。