Operador Java isInstance vs instanceOf
A coisa toda sobre genéricos está meio que me jogando para um loop, e mais ainda para o RTT.
Specificis? Ah, bem, aqui está a essência:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
e então eu chamaria assim:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
Isso é para que eu possa realmente atribuir de forma flexível o tipo de retorno da consulta no auxiliar real. Faz alguma conversão e criação de objetos. O que estou vendo é que não há correspondência, devo fazer isso de outra maneira? Ou a idéia toda é ruim?
E o verdadeiro coração disso é que não entendo a diferença entre class.isInstance e o operador instanceOf? Devo estar usando o último?