Dies wurde wahrscheinlich schon einmal gestellt, aber eine schnelle Suche brachte nur die gleiche Frage nach C #. Siehe hier.
Grundsätzlich möchte ich überprüfen, ob ein bestimmtes Objekt eine bestimmte Schnittstelle implementiert.
Ich habe eine Lösung gefunden, aber diese ist einfach nicht komfortabel genug, um sie häufig in if- oder case-Anweisungen zu verwenden, und ich habe mich gefragt, ob Java keine integrierte Lösung hat.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDIT: Ok, danke für deine Antworten. Besonders für Damien Pollet und Noldorin haben Sie mich dazu gebracht, mein Design zu überdenken, damit ich nicht mehr auf Schnittstellen teste.