Cela a probablement déjà été demandé, mais une recherche rapide n'a fait apparaître que la même question posée pour C #. Vois ici.
Ce que je veux essentiellement faire, c'est vérifier si un objet donné implémente une interface donnée.
J'ai en quelque sorte trouvé une solution, mais ce n'est tout simplement pas assez confortable pour l'utiliser fréquemment dans des déclarations if ou case et je me demandais si Java n'avait pas de solution intégrée.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDIT: Ok, merci pour vos réponses. Surtout à Damien Pollet et Noldorin, vous m'avez fait repenser mon design pour ne plus tester d'interfaces.