Probablemente esto ya se haya preguntado antes, pero una búsqueda rápida solo generó la misma pregunta que se hizo para C #. Mira aquí.
Lo que básicamente quiero hacer es verificar si un objeto determinado implementa una interfaz determinada.
En cierto modo, descubrí una solución, pero esto no es lo suficientemente cómodo como para usarla con frecuencia en declaraciones if o case y me preguntaba si Java no tiene una solución incorporada.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDITAR: Ok, gracias por tus respuestas. Especialmente para Damien Pollet y Noldorin, me hiciste repensar mi diseño para que ya no pruebe las interfaces.