Probabilmente questo è stato chiesto prima, ma una rapida ricerca ha sollevato solo la stessa domanda posta per C #. Vedere qui.
Quello che sostanzialmente voglio fare è controllare se un determinato oggetto implementa una determinata interfaccia.
Ho trovato una soluzione, ma questo non è abbastanza comodo da usarla frequentemente in if o case case e mi chiedevo se Java non avesse una soluzione integrata.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDIT: Ok, grazie per le tue risposte. Soprattutto con Damien Pollet e Noldorin, mi hai fatto ripensare il mio progetto in modo da non testare più le interfacce.