Prawdopodobnie zostało to zadane wcześniej, ale szybkie wyszukiwanie przyniosło tylko to samo pytanie zadane dla C #. Spójrz tutaj.
Zasadniczo chcę sprawdzić, czy dany obiekt implementuje dany interfejs.
W pewnym sensie wymyśliłem rozwiązanie, ale nie jest to po prostu wystarczająco wygodne, aby używać go często w instrukcjach if lub case i zastanawiałem się, czy Java nie ma wbudowanego rozwiązania.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDYCJA: Ok, dziękuję za odpowiedzi. Specjalnie dla Damiena Polleta i Noldorina zmusiliście mnie do przemyślenia mojego projektu, więc nie testuję już interfejsów.