如何确定一个类是否是其他类的子类?

时间:2020-03-06 14:57:52  来源:igfitidea点击:

我想检查Class对象是否代表其他类的子类
例如

Class class1 = Class.forName("Class1");
Class class2 = Class.forName("Class2");

 if(class1.isSubClassOf(class2)) // fake methos isSubClassOf
{
  // do sth
}

如何实现此isSubClassOf方法?

解决方案

Class.isAssignableFrom()提供了或者多或者少的功能,尽管它也处理接口,所以可能需要做更多的额外工作才能确保它是子类,无论是直接子类还是其他子类。

IIRC的instanceof运算符。

但是,我们永远不要这样做。将方法添加到适用的类并完成该操作。