мне нужно, чтобы определить, является ли объект класса, представляющее собой интерфейс расширяет другой интерфейс, то есть:Определение расширенных интерфейсов класса
package a.b.c.d;
public Interface IMyInterface extends a.b.d.c.ISomeOtherInterface{
}
the spec согласно Class.getSuperClass() возвращает нуль для интерфейса.
Если этот класс представляет собой либо класс объекта, интерфейс, примитивного типа, или пустоту, то нуля является возвращается.
Поэтому следующее не будет работать.
Class interface = Class.ForName("a.b.c.d.IMyInterface")
Class extendedInterface = interface.getSuperClass();
if(extendedInterface.getName().equals("a.b.d.c.ISomeOtherInterface")){
//do whatever here
}
любые идеи?
Мне кажется, что это усложняет ситуацию; переопределяя то, что уже предоставляет Java. Предполагая, что весь код здесь правильный, он просто даст тот же ответ, что и однострочный. AssignableFrom из других ответов. – 2009-02-22 08:58:15