Bonjour,
J'aurais besoin de tester si une instance d'un objet implémente une interface. Cela ressemblerait à vouloir tester si une classe implémente Cloneable avant de le cloner.
D'habitude, j'utilise "instanceof", et cela marche.
Mais en fouinant un peu, j'ai vu les méthodes isAssignableFrom et isInstance de la classe Class. Pour les quelques tests que j'ai fais (assez limité j'avoue), les 3 méthodes donnent le même résultat (et je ne suis pas sûr de bien comprendre la javadoc).
Autrement dis, pour un objet obj, "obj instanceof MaClasse" est identique à "MaClasse.class.isAssignableFrom(obj.getClass())" et "MaClasse.class.isInstance(obj)".
Je pense que les méthodes de la classe Class ne servent que lorsqu'on ne connait pas le type de l'objet en cours de manipulation.
Ai-je raison ? Quelqu'un aurait-il des exemples ?
Partager