Является ли мой класс подклассом другого универсального класса?

У меня есть абстрактный универсальный класс.

public abstract class FieldHandlerWithData<DataType extends Parcelable> 
    extends FieldHandler

Теперь у меня есть объект c

Class<? extends FieldHandler> c = getHandlerClass(type);

и теперь я хочу проверить, наследует ли c FieldHandlerWithData (прямо или косвенно). Как определить, наследует ли c FieldHandlerWithData?

c.isAssignableFrom(FieldHandlerWithData.class) — возвращает ложь.


person Solvek    schedule 27.09.2010    source источник
comment


Ответы (1)


Все наоборот - FieldHandlerWithData.class.isAssignableFrom(c)

Определяет, является ли класс или интерфейс, представленный этим объектом класса, таким же, или является суперклассом или суперинтерфейсом класса или интерфейса, представленного указанным параметром класса.

Так что этот класс (тот, для которого вызывается метод) должен быть суперклассом/суперинтерфейсом

person Bozho    schedule 27.09.2010