Dire que j'ai 3 classes comme ceci:Y at-il un moyen de déterminer de quel type une classe est une instance de Java?
class A {}
class B extends A {}
class C extends A {}
Serait-il alors possible de déterminer si un objet particulier est une instance de A
, B
ou C
?
Je pensais que quelque chose comme cela pourrait fonctionner:
if (myObject.getClass().isInstance(B.class)) {
// do something for B
} else (myObject.getClass().isInstance(C.class)) {
// do something for C
} else {
// do something for A
}
mais après avoir lu un peu, je pense qu'il évaluerait toujours en B car il teste simplement si un casting fonctionnerait et il n'y a pas de différence substantielle entre eux.
Merci pour la réponse rapide ... exactement ce que je cherchais. –