想象以下场景:
class MyClass extends OtherClass<String>{
String myName;
//Whatever
}
class OtherClass<T> {
T myfield;
}
我正在专门使用反射分析 MyClass (MyClass.class).getDeclaredFields()
,在这种情况下,我将获得以下字段(和类型,使用字段的 getType() ):
myName --> String
myField --> T
我想获取 T 的实际类型,由于扩展表示法中的显式“字符串”在运行时已知,我该如何获取 myField 的非遗传类型?
编辑解决:
似乎答案是“你不能”。对于那些以后可能会看到这个问题的人,我建议使用 Jackson(我试图这样做以生成 JSON)并以这样的方式注释您的类和字段,以便 Jackson 知道继承层次结构并可以自动执行什么下面建议的正确答案。