<:> Frage:
Bei der Verwendung generischer Projekte müssen Sie feststellen, ob dem angegebenen Typobjekt eine bestimmte generische Klasse zugewiesen wird. Aufgrund der generischen Eigenschaften der Klasse schlägt die Verwendung von
-Methoden fehl.
IsSubclassOf
Beispiel:
Betrachten Sie die folgende Struktur der Klassenebene:
Ziel ist es zu bestimmen, ob die Testklasse von der Generikumklasse abgeleitet ist.
public class GenericClass<T> implements GenericInterface<T> { } public class Test extends GenericClass<SomeType> { }
Java bietet eine Lösung für dieses Problem. Zunächst erstellen wir eine praktische Funktion:
Um zu überprüfen, ob der Test aus der Geneclass abgeleitet ist, verwenden Sie bitte den folgenden Code:
static boolean isSubclassOfRawGeneric(Type generic, Type toCheck) { while (toCheck != null && toCheck != Object.class) { Type cur = toCheck instanceof ParameterizedType ? ((ParameterizedType) toCheck).getRawType() : toCheck; if (generic == cur) { return true; } toCheck = toCheck.getSuperclass(); } return false; }
Das obige ist der detaillierte Inhalt vonWie kann ich die Klassenableitung mit Generika in Java bestimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!