J'imagine qu'il doit y avoir un moyen d'utiliser la réflexion pour faire ce que je veux faire.Voir si un objet est une instance d'une classe passée par une chaîne
je dois être en mesure de prendre une chaîne à l'exécution qui est d'une certaine classe, par exemple:
string s = "mypackage.MySuperClass"
Ensuite, je peut avoir un objet d'un certain type. Il pourrait être l'une des options suivantes:
mypackage.MySuperClass obj = new mypackage.MySuperClass();
ou
mypackage.MySubClass obj2 = new mypackage.MySubClass();
ou
someotherpackage.SomeOtherClass obj3 = new someotherpackage.SomeOtherClass();
Ce que je dois faire est de voir si un objet (que son type est déterminé lors de l'exécution) , est égal à la chaîne s (qui est également déterminée à l'exécution par des moyens complètement différents).
Dans les cas ci-dessus, je voudrais que obj et obj2 soient du même type que s (puisque MySubClass est une sous-classe de MySuperClass), et obj3 ne le ferait pas.
Existe-t-il un moyen facile de faire cela dans Java? Peut-être quelque chose utilisant instanceOf?
(Notez que les noms de classes ne sont pas uniques en Java.) –