我正在寻找关于getClasses()如何工作的一些说明.我正在尝试编写代码,给定一个String类名,找到扩展classname指定的类的所有类.我有一个名为getChildren()的方法来执行此操作.不幸的是,每次调用它时,该方法都会返回一个空集合.这是我的代码.
import java.util.ArrayList;
import java.util.Collection;
public class ClassFinder {
private Class<?> myClass;
public ClassFinder(Class<?> clazz) {
myClass = clazz;
}
public ClassFinder (String className) throws ClassNotFoundException {
myClass = Class.forName(className);
}
public Collection<Class<?>> getChildren() {
Collection<Class<?>> children = new ArrayList<Class<?>>();
Class<?>[] relatedClasses = myClass.getClasses();
for (Class<?> potentialChild : relatedClasses) {
if (potentialChild.isAssignableFrom(myClass)) {
children.add(potentialChild);
}
}
return children;
}
}
Run Code Online (Sandbox Code Playgroud)