Todo el asunto de los genéricos me está dando un vuelco, y más aún el RTT.Java isInstance vs instanceOf operator
¿Qué es Specificis? Ah, bueno aquí está el quid:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
y luego lo llamaría así:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
Esto es por lo que yo puedo asignar de forma flexible el tipo de retorno consulta en el ayudante real. Hace algo de fundición y creación de objetos. Lo que estoy viendo es que no hay coincidencia, ¿debería estar haciendo esto de otra manera? ¿O toda la idea es mala?
Y el verdadero corazón de esto es que no entiendo la diferencia entre class.isInstance y el operador instanceOf? ¿Debo usar el último?
Su uso ex suficiente para isState es hacia atrás. Sería expectedType.isInstance (myVar); – Affe
Gracias por aclarar eso - definitivamente necesitaba reducir la velocidad y pensar cuando estaba escribiendo este código. Desde entonces ha cambiado de forma, para ser realmente útil. ¡Gracias de nuevo! – rybit