Я называю это линейными классовыми отношениями , но поправьте меня, если я ошибаюсь. Я пытаюсь проверить, является ли класс объекта A предком или потомком класса объекта B .
Например, AbstractCollection линейно связан с Object и ArrayList . Однако ArrayList не линейно связан с Vector .
Мой первый удар был:
//...Assume objects A and B were declared...
Class<? extends Object> Aclass = A.getClass();
if(Aclass.isAssignableFrom(B.getClass()) || Aclass.isInstance(B)){
//Their types are linearly related, at the least
}
Это подходящий чек?