Ich muss bestimmen, ob ein Klassenobjekt repräsentiert eine Schnittstelle eine weitere Schnittstelle erstreckt, und zwar:Bestimmung der erweiterten Schnittstellen eines Klasse
package a.b.c.d;
public Interface IMyInterface extends a.b.d.c.ISomeOtherInterface{
}
nach the spec Class.getSuperClass() wird für eine Schnittstelle null zurück.
Wenn diese Klasse repräsentiert entweder die Object-Klasse, eine Schnittstelle, einen Urtyp oder Leere, dann null ist zurückgegeben.
Daher wird das Folgende nicht funktionieren.
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
}
irgendwelche ideen?
Sieht für mich so aus, als ob es komplizierter wird, als es ist; Neu implementieren, was Java bereits bietet. Angenommen, der gesamte Code ist korrekt, gibt es nur die gleiche Antwort wie der Einzeiler isAssignableFrom aus anderen Antworten. –