Java - Wie Kann Ich Prüfen, Ob Eine Klasse Erbt Von Einer Klasse Oder Schnittstelle?
Ich brauche zu überprüfen:
public static boolean check(Class<?> c, Class<?> d)
{
if (/* c inherits from d */)
return true;
else
return false;
}
Wie kann ich das tun ?
Und ist das möglich ohne c.newInstance()
?
Der Titel wurde falsch in der ersten Zeit. Jetzt ist es richtig.
InformationsquelleAutor Bitterblue | 2013-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
isAssignableFrom
Quelle
InformationsquelleAutor Kevin Bowersox
Gibt es eine Methode namens Klasse#isInterface() in Klasse
c inherits d
Kommentar?zunächst Frage-Titel war anders. 🙂
Das ist, was ich vermutet hatte, Ihr in der Regel auf dem Punkt mit guten Antworten.
Down-voting nicht fair, wenn die Frage ist, verändert nach Antwort wird gepostet!!!
eigentlich ist es nicht die Sache mit dem downvote.seine nur, dass die downvoter sollte einen Kommentar hinterlassen, in denen sein Grund . 🙂
InformationsquelleAutor PermGenError
Ausprobieren
d.isAssignableFrom(c)
.wäre es nicht sinnvoller zu schreiben, zurückgeben.c.isAssignableFrom(d)? Oder sind Sie Herr Wortreich
InformationsquelleAutor user2256686
Wie etwa
public boolean isInterface();
Laut docs:
isInterface
InformationsquelleAutor Apurv
isInterface
Bestimmt, ob die angegebene Klasse-Objekt stellt eine Schnittstelle geben.
Gibt:
true, wenn dieses Objekt stellt eine Schnittstelle haben; andernfalls false.
sAssignableFrom
Bestimmt, ob die Klasse oder das interface repräsentiert durch das Class-Objekt wird entweder die gleiche, oder eine Oberklasse oder superinterface, die Klasse oder das interface repräsentiert durch den parameter angegebenen Klasse. Es gibt true zurück, wenn das so ist; andernfalls gibt Sie false zurück.
Wenn das Class-Objekt repräsentiert eine ursprüngliche Art, diese Methode gibt true zurück, wenn die angegebene Klasse parameter ist genau diese Klasse Objekt; andernfalls gibt Sie false zurück.
Speziell, diese Methode prüft, ob der Typ, dargestellt durch die Klasse-parameter umgewandelt werden können, um die Art vertreten durch das Class-Objekt über eine Identität Konvertierung oder über eine Verbreiterung Referenz-Konvertierung.
Finden Sie in Der Java Language Specification, Abschnitte 5.1.1 und 5.1.4 , für details.
Parameter:
cls - Class-Objekt geprüft werden
Gibt:
ein boolescher Wert, der angibt, ob Objekte des Typs cls zugeordnet werden können, um Objekte dieser Klasse
Würfe:
NullPointerException - falls die angegebene Klasse parameter null ist.
Da:
JDK1.1
InformationsquelleAutor saeed
haben Sie versucht, mit
aus docs
InformationsquelleAutor ꜱᴜʀᴇꜱʜ ᴀᴛᴛᴀ