L'intera cosa generica è un po 'come lanciarmi per un ciclo, e più ancora l'RTT.Java isInstance vs instanceOf operator
Specificis? Ah bene ecco il succo del discorso:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
e quindi vorrei chiamarlo in questo modo:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
Questo è così che posso davvero flessibile assegnare il tipo di ritorno query nel aiutante reale. Fa un po 'di casting e creazione di oggetti. Quello che sto vedendo è che non c'è corrispondenza, dovrei farlo in qualche altro modo? O l'intera idea è solo brutta?
E il vero cuore di questo è che non capisco la differenza tra class.isInstance e l'operatore instanceOf? Dovrei usare quest'ultimo?
Il tuo utilizzo ex ampio per isInstance è indietro. Sarebbe previstoType.isInstance (myVar); – Affe
Grazie per aver chiarito che - ho bisogno di rallentare e pensare quando stavo scrivendo questo codice. Da allora ha cambiato forma, per essere effettivamente utile. Grazie ancora! – rybit