Java 如何使用反射库获取子类型的子类型
这是我的场景,我有三个类:Java 如何使用反射库获取子类型的子类型,java,reflections,Java,Reflections,这是我的场景,我有三个类: public abstract class A { public Set<Class<?>> getGrandChildren() { Reflections reflections = new Reflections(this.getClass().getPackage().getName()); Set<Class<?>> grandChildren = reflection
public abstract class A {
public Set<Class<?>> getGrandChildren() {
Reflections reflections = new Reflections(this.getClass().getPackage().getName());
Set<Class<?>> grandChildren = reflections.getSubTypesOf(this.getClass());
return grandChildren;
}
}
public class B extends A {}
public class C extends B implements X {}
class D {
public B client = new B();
//I am trying to get all children of this class
client.getGrandChildren()
}
公共抽象类A{
public Set>sunderenes=reflections.getsubscriptsof(this.getClass());
还孙子;
}
}
公共类B扩展了{}
公共类C扩展B实现X{}
D类{
公共B客户端=新B();
//我正在努力让这个班的所有孩子都参加
client.get孙辈()
}
我的编译器抱怨以下类型:
Set<Class<?>> grandChilderen = reflections.getSubTypesOf(this.getClass());
Set最简单的方法是依赖,因为它失败了,因为它需要参数化类型的值(对应于签名public Set中的T
),谢谢,这对我有帮助,我以前尝试过使用,但casting(类类型)起了作用。
public Set<Class<?>> getGrandChildren() {
Reflections reflections = new Reflections(this.getClass().getPackage().getName());
Set grandChildren = reflections.getSubTypesOf(this.getClass());
return grandChildren;
}