La chose générique entière me fait un peu tourner en boucle, et plus encore le RTT.Java isInstance vs opérateur instanceOf
Spécifique? Eh bien, voici l'essentiel:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
puis je l'appellerais comme ceci:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
Il en est ainsi que je peux vraiment affecter de manière flexible le type de retour de la requête dans l'aide réelle. Il fait du casting et de la création d'objets. Ce que je vois, c'est qu'il n'y a pas de correspondance, est-ce que je devrais faire autrement? Ou l'idée est-elle simplement mauvaise?
Et le vrai cœur de ceci est que je ne comprends pas la différence entre class.isInstance et l'opérateur instanceOf? Devrais-je utiliser ce dernier?
Votre utilisation ex ample pour isInstance est en arrière. Serait expectedType.isInstance (myVar); – Affe
Merci de préciser que - j'ai dû ralentir et penser quand j'écrivais ce code. Il a depuis changé de forme, pour être réellement utile. Merci encore! – rybit