我需要检查通过Field.getType()方法获取的反射Field类型实例是否是另一个继承特定类GenericModel的类的实例。
我正在尝试以下伪代码片段:
我得到了一个结果,true,这意味着它是Language类的实例,该类继承自GenericModel。然而;
我正在尝试以下伪代码片段:
if(field.getType() "is_a_superclass_of" GenericModel) {
... then do something with it
}
我该怎么做呢?
当我尝试以下代码时:
field.getType().isAssignableFrom(Language.class)
我得到了一个结果,true,这意味着它是Language类的实例,该类继承自GenericModel。然而;
field.getType().isAssignableFrom(GenericModel.class)
返回false?
field.getType() == "za.co.company.package.model.Language"
field.getType().isAssignableFrom(Language.class)
返回true
的原因是因为Language
是字段类型的子类,而不是相反的情况(可能字段本身就是一个Language
)。 - Bohemian