我正在编写一个自定义检查以查看某些类是否符合我们的体系结构,其中一条规则规定如果一个类的名称具有某个前缀,则它必须直接或间接地继承某种类型的servlet。 / p>
可用的检查不包括这种情况,并且间接继承被证明是一个测试的挑战,因为我找不到一种方法来获得第一个继承类的Ast树,所以这样的模式:
未经检查。问题是:
提前致谢,如果问题不清楚,请提醒我,我很乐意提供尽可能多的信息
答案 0 :(得分:2)
您可以执行以下操作来检查:
Class<?> dummyClass = DummyClass1.class;
Class<?> reallyImportantClass = ReallyImportantClass.class;
if(reallyImportantClass.isAssignableFrom(dummyClass)){
return true;
}else{
return false;
}
请参阅: http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)